/* خطوط مرفقة مع النظام حتى تظهر الفاتورة وتُطبع بنفس الشكل على أي جهاز */
@font-face { font-family: "Plex Arabic"; font-weight: 400; font-display: swap; src: url(fonts/plex-arabic-400.woff2) format("woff2"); unicode-range: U+0600-06FF, U+0750-077F, U+08A0-08FF, U+200C-200E, U+FB50-FDFF, U+FE70-FEFC; }
@font-face { font-family: "Plex Arabic"; font-weight: 500; font-display: swap; src: url(fonts/plex-arabic-500.woff2) format("woff2"); unicode-range: U+0600-06FF, U+0750-077F, U+08A0-08FF, U+200C-200E, U+FB50-FDFF, U+FE70-FEFC; }
@font-face { font-family: "Plex Arabic"; font-weight: 600; font-display: swap; src: url(fonts/plex-arabic-600.woff2) format("woff2"); unicode-range: U+0600-06FF, U+0750-077F, U+08A0-08FF, U+200C-200E, U+FB50-FDFF, U+FE70-FEFC; }
@font-face { font-family: "Plex Arabic"; font-weight: 700; font-display: swap; src: url(fonts/plex-arabic-700.woff2) format("woff2"); unicode-range: U+0600-06FF, U+0750-077F, U+08A0-08FF, U+200C-200E, U+FB50-FDFF, U+FE70-FEFC; }
@font-face { font-family: "Plex Arabic"; font-weight: 400; font-display: swap; src: url(fonts/plex-latin-400.woff2) format("woff2"); unicode-range: U+0000-00FF, U+2000-206F, U+20AC, U+2122, U+2212; }
@font-face { font-family: "Plex Arabic"; font-weight: 500; font-display: swap; src: url(fonts/plex-latin-500.woff2) format("woff2"); unicode-range: U+0000-00FF, U+2000-206F, U+20AC, U+2122, U+2212; }
@font-face { font-family: "Plex Arabic"; font-weight: 600; font-display: swap; src: url(fonts/plex-latin-600.woff2) format("woff2"); unicode-range: U+0000-00FF, U+2000-206F, U+20AC, U+2122, U+2212; }
@font-face { font-family: "Plex Arabic"; font-weight: 700; font-display: swap; src: url(fonts/plex-latin-700.woff2) format("woff2"); unicode-range: U+0000-00FF, U+2000-206F, U+20AC, U+2122, U+2212; }
/* رمز الريال السعودي الجديد */
@font-face { font-family: "Riyal"; font-display: block; src: url(fonts/saudi_riyal.woff2) format("woff2"); }

.inv-sheet {
  --ink: #1d2733;
  --soft: #4a5766;
  --line: #d7dde4;
  box-sizing: border-box;
  width: 210mm;
  min-height: 297mm;
  padding: 16mm 15mm 14mm;
  background: #fff;
  color: var(--ink);
  font-family: "Plex Arabic", Tahoma, Arial, sans-serif;
  font-size: 12px;
  line-height: 1.5;
  text-align: right;
  display: flex;
  flex-direction: column;
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
}
.inv-sheet *, .inv-sheet *::before, .inv-sheet *::after { box-sizing: border-box; }

/* الترويسة: عربي يمين — شعار — إنجليزي يسار */
.inv-head {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 14px;
  padding-bottom: 16px;
  border-bottom: 2px solid #b4bfcb;
}
.inv-co-name { font-size: 18px; font-weight: 600; line-height: 1.35; margin-bottom: 3px; }
.inv-co-line { font-size: 10.5px; color: var(--soft); line-height: 1.55; }
.inv-co-en { text-align: left; }
.inv-logo { min-width: 90px; text-align: center; }
.inv-logo img { display: block; max-width: 170px; max-height: 105px; margin: 0 auto; object-fit: contain; }

.inv-title {
  margin: 20px 0 22px;
  text-align: center;
  font-size: 25px;
  font-weight: 500;
  line-height: 1.3;
}

/* جدول بيانات العميل والتواريخ */
.inv-meta { border: 1px solid var(--line); font-size: 11px; }
.inv-meta-row {
  display: grid;
  grid-template-columns: 105px 1fr 105px;
  align-items: center;
  padding: 3px 12px;
  min-height: 22px;
}
.inv-meta > .inv-meta-row { border-bottom: 1px solid var(--line); }
.inv-k { font-weight: 500; }
.inv-en { direction: ltr; text-align: left; }
.inv-v { text-align: center; overflow-wrap: anywhere; }
.inv-meta-split { display: grid; grid-template-columns: 1fr 1fr; }
.inv-meta-half + .inv-meta-half { border-right: 1px solid var(--line); }
.inv-meta-half .inv-meta-row { grid-template-columns: 90px 1fr 90px; min-height: 19px; padding-block: 1px; }
.inv-meta-half { padding: 3px 0; }

/* جدول البنود */
.inv-items {
  width: 100%;
  margin-top: 24px;
  border: 1px solid var(--line);
  border-collapse: collapse;
  font-size: 11px;
}
.inv-items th {
  padding: 8px 8px 7px;
  border-bottom: 1px solid var(--line);
  font-weight: 500;
  text-align: right;
  vertical-align: bottom;
  line-height: 1.35;
  white-space: nowrap;
}
.inv-items th span { direction: ltr; unicode-bidi: isolate; }
.inv-items td {
  padding: 9px 8px;
  text-align: right;
  vertical-align: top;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
.inv-items tbody tr + tr td { border-top: 1px solid #eceff3; }
.inv-items .c-n { width: 30px; text-align: center; }
.inv-items .c-desc { width: 100%; white-space: normal; overflow-wrap: anywhere; }
.inv-items tr { break-inside: avoid; }
.inv-muted { color: #9aa4b0; }

/* الإجماليات */
.inv-totals {
  width: 58%;
  margin: 12px auto 0 0;
  border-collapse: collapse;
  font-size: 11px;
  break-inside: avoid;
}
.inv-totals th { padding: 5px 0; text-align: left; font-weight: 600; }
.inv-totals td { padding: 5px 0; }
.inv-totals .t-sar { width: 46px; text-align: center; }
.inv-totals .t-amt { width: 92px; padding-inline-end: 8px; text-align: right; font-variant-numeric: tabular-nums; }
.inv-totals .t-grand th, .inv-totals .t-grand td { font-weight: 700; }
.inv-sar { font-family: "Riyal"; font-size: 1.05em; font-weight: 400; line-height: 1; }

/* الملاحظات ورمز QR */
.inv-foot {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 24px;
  margin-top: 34px;
  break-inside: avoid;
}
.inv-notes { flex: 1; min-width: 0; align-self: flex-start; }
.inv-notes-h { font-weight: 600; font-size: 11px; line-height: 1.35; margin-bottom: 8px; }
.inv-notes-b { font-size: 10.5px; color: var(--soft); line-height: 1.7; overflow-wrap: anywhere; }
.inv-qr-box { flex: none; width: 112px; text-align: center; }
.inv-qr { width: 104px; height: 104px; margin: 0 auto; }
.inv-qr svg { display: block; width: 100%; height: 100%; }
.inv-qr-cap { margin-top: 6px; font-size: 9px; color: var(--soft); line-height: 1.45; }

@media print {
  @page { size: A4; margin: 0; }
  .inv-sheet { box-shadow: none !important; margin: 0 !important; zoom: 1 !important; min-height: 296mm; }
}

/* النصوص التي يكتبها المستخدم (عربي أو إنجليزي) تأخذ اتجاهها من محتواها حتى لا تنتقل علامات الترقيم */
.inv-v, .inv-items td.c-desc, .inv-notes-b { unicode-bidi: plaintext; }
