/* Invoice Overlay Coordinates
 *
 * Coordinates are derived from the original 595.3 x 841.9 SVG viewBox
 * mapped directly to a 210mm x 297mm A4 page.
 */
.invoice-page {
  --page-width: 210mm;
  --page-height: 297mm;

  --invoice-number-left: 30.62mm;
  --invoice-number-top: 55.24mm;
  --invoice-number-width: 25.12mm;
  --invoice-number-height: 7.34mm;

  --invoice-date-day-left: 13.83mm;
  --invoice-date-day-top: 64.20mm;
  --invoice-date-day-width: 8.08mm;
  --invoice-date-day-height: 7.34mm;

  --invoice-date-month-left: 28.01mm;
  --invoice-date-month-top: 64.20mm;
  --invoice-date-month-width: 8.08mm;
  --invoice-date-month-height: 7.34mm;

  --invoice-date-year-left: 42.15mm;
  --invoice-date-year-top: 64.20mm;
  --invoice-date-year-width: 13.58mm;
  --invoice-date-year-height: 7.34mm;

  --customer-left: 46mm;
  --customer-top: 82.2mm;
  --customer-width: 107mm;
  --customer-height: 12mm;

  --items-row-top: 110.4mm;
  --items-row-pitch: 12.0mm;
  --items-row-height: 12.0mm;

  --material-right-margin: 22mm;
  --material-width: 74mm;

  --unit-left: 74.36mm;
  --unit-width: 31mm;
  --quantity-left: 54.1mm;
  --quantity-width: 16.65mm;
  --line-total-left: 9.38mm;
  --line-total-width: 41.16mm;

  --total-number-left: 11.2mm;
  --total-number-top: 239.15mm;
  --total-number-width: 89.5mm;
  --total-number-height: 8.9mm;
  --total-words-left: 11.2mm;
  --total-words-top: 253.35mm;
  --total-words-width: 132.3mm;
  --total-words-height: 8.9mm;

  width: var(--page-width);
  height: var(--page-height);
}

.invoice-number {
  position: absolute;
  top: var(--invoice-number-top);
  left: var(--invoice-number-left);
  width: var(--invoice-number-width);
  height: var(--invoice-number-height);
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  padding: 0 1mm;
  color: #ec6925;
  font-size: 5.2mm;
  font-weight: 700;
  direction: ltr;
  white-space: nowrap;
  overflow: visible;
}

.invoice-date-day,
.invoice-date-month,
.invoice-date-year {
  position: absolute;
  height: var(--invoice-date-day-height);
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  padding: 0 1mm;
  color: #ec6925;
  font-size: 5.2mm;
  font-weight: 700;
  direction: ltr;
  white-space: nowrap;
  overflow: visible;
}

.invoice-date-day {
  top: var(--invoice-date-day-top);
  left: var(--invoice-date-day-left);
  width: var(--invoice-date-day-width);
}

.invoice-date-month {
  top: var(--invoice-date-month-top);
  left: var(--invoice-date-month-left);
  width: var(--invoice-date-month-width);
}

.invoice-date-year {
  top: var(--invoice-date-year-top);
  left: var(--invoice-date-year-left);
  width: var(--invoice-date-year-width);
}

.customer-name {
  position: absolute;
  top: var(--customer-top);
  left: var(--customer-left);
  width: var(--customer-width);
  height: var(--customer-height);
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  padding: 0 2mm;
  color: #5c5a57;
  font-size: 5.0mm;
  font-weight: 500;
  direction: rtl;
  text-align: center;
  white-space: nowrap;
  overflow: visible;
}

.overlay-item-row {
  position: absolute;
  inset: 0;
}

.overlay-item-cell {
  position: absolute;
  top: calc(var(--items-row-top) + var(--row-index) * var(--items-row-pitch));
  height: var(--items-row-height);
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  color: #5c5a57;
  font-size: 4.4mm;
  font-weight: 400;
  text-align: center;
  white-space: nowrap;
  overflow: visible;
}

.item-description {
  right: var(--material-right-margin);
  left: auto;
  width: var(--material-width);
  padding: 0 2mm;
  justify-content: center;
  direction: rtl;
  text-align: center;
}

.item-unit-price {
  left: var(--unit-left);
  width: var(--unit-width);
  direction: ltr;
}

.item-quantity {
  left: var(--quantity-left);
  width: var(--quantity-width);
  direction: ltr;
}

.item-line-total {
  left: var(--line-total-left);
  width: var(--line-total-width);
  direction: ltr;
}

.total-number,
.total-words {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  box-sizing: border-box;
  padding: 0 3mm;
  color: #ec6925;
  font-size: 4.4mm;
  font-weight: 400;
  direction: rtl;
  text-align: right;
  white-space: nowrap;
  overflow: hidden;
}

.total-number {
  top: var(--total-number-top);
  left: var(--total-number-left);
  width: var(--total-number-width);
  height: var(--total-number-height);
}

.total-words {
  top: var(--total-words-top);
  left: var(--total-words-left);
  width: var(--total-words-width);
  height: var(--total-words-height);
}

/* ============================================================
   Debug guide layer
   These guide lines are calibration helpers only; they do not
   affect print geometry. They are hidden in print.
   ============================================================ */

.debug-guide-layer {
  display: none;
}

.debug-mode .invoice-page .debug-guide-layer {
  display: block;
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 2;
}

.debug-guide-line {
  position: absolute;
  left: 0;
  right: 0;
  height: 0.15mm;
  background: rgba(0, 90, 255, 0.35);
}

.debug-guide-cell {
  position: absolute;
  background: rgba(0, 90, 255, 0.08);
  border: 0.15mm solid rgba(0, 90, 255, 0.35);
}

@media print {
  .debug-guide-layer,
  .debug-guide-line,
  .debug-guide-cell {
    display: none !important;
  }
}

/* Manual calibration patch — generated 2026-06-12T19:58:52.643Z */
/* Paste this block at the end of public/invoice-layout.css, then review visually and commit. */

/* اسم الزبون */
[data-calibration-key="customer-name"] {
  font-size: 5.7mm;
  left: 46mm;
  text-align: center;
  top: 82.2mm;
}

/* رقم الوصل */
[data-calibration-key="invoice-number"] {
  top: 55.6mm;
}

/* السعر الكلي */
[data-calibration-key="line-total-1"] {
  top: 122.9mm;
}

/* السعر الكلي */
[data-calibration-key="line-total-2"] {
  top: 134.9mm;
}

/* السعر الكلي */
[data-calibration-key="line-total-3"] {
  top: 147.4mm;
}

/* السعر الكلي */
[data-calibration-key="line-total-4"] {
  top: 159.4mm;
}

/* السعر الكلي */
[data-calibration-key="line-total-5"] {
  top: 171.9mm;
}

/* السعر الكلي */
[data-calibration-key="line-total-6"] {
  top: 183.9mm;
}

/* السعر الكلي */
[data-calibration-key="line-total-7"] {
  top: 195.9mm;
}

/* السعر الكلي */
[data-calibration-key="line-total-8"] {
  top: 208.4mm;
}

/* السعر الكلي */
[data-calibration-key="line-total-9"] {
  top: 220.4mm;
}

/* المادة */
[data-calibration-key="material-0"] {
  right: 24.5mm;
  top: 110.4mm;
}

/* المادة */
[data-calibration-key="material-1"] {
  right: 24.5mm;
  top: 122.9mm;
}

/* المادة */
[data-calibration-key="material-2"] {
  right: 24.5mm;
  top: 134.9mm;
}

/* المادة */
[data-calibration-key="material-3"] {
  right: 24.5mm;
  top: 147.4mm;
}

/* المادة */
[data-calibration-key="material-4"] {
  right: 24.5mm;
  top: 159.4mm;
}

/* المادة */
[data-calibration-key="material-5"] {
  right: 24.5mm;
  top: 171.4mm;
}

/* المادة */
[data-calibration-key="material-6"] {
  right: 24.5mm;
  top: 183.9mm;
}

/* المادة */
[data-calibration-key="material-7"] {
  right: 24.5mm;
  top: 195.9mm;
}

/* المادة */
[data-calibration-key="material-8"] {
  right: 24.5mm;
  top: 207.9mm;
}

/* المادة */
[data-calibration-key="material-9"] {
  right: 24.5mm;
  top: 220.9mm;
}

/* العدد */
[data-calibration-key="quantity-1"] {
  top: 122.9mm;
}

/* العدد */
[data-calibration-key="quantity-2"] {
  top: 134.9mm;
}

/* العدد */
[data-calibration-key="quantity-3"] {
  left: 54.1mm;
  top: 147.4mm;
}

/* العدد */
[data-calibration-key="quantity-4"] {
  top: 159.4mm;
}

/* العدد */
[data-calibration-key="quantity-5"] {
  top: 171.4mm;
}

/* العدد */
[data-calibration-key="quantity-6"] {
  top: 183.4mm;
}

/* العدد */
[data-calibration-key="quantity-7"] {
  top: 195.9mm;
}

/* العدد */
[data-calibration-key="quantity-8"] {
  left: 53.84mm;
  top: 207.9mm;
}

/* العدد */
[data-calibration-key="quantity-9"] {
  left: 54.1mm;
  top: 220.4mm;
}

/* المجموع رقماً */
[data-calibration-key="total-number"] {
  font-size: 5mm;
  left: 11.2mm;
  top: 239.15mm;
}

/* المجموع كتابةً */
[data-calibration-key="total-words"] {
  font-size: 5mm;
}

/* سعر المفرد */
[data-calibration-key="unit-price-1"] {
  left: 74.36mm;
  top: 122.9mm;
}

/* سعر المفرد */
[data-calibration-key="unit-price-2"] {
  left: 74.36mm;
  top: 134.9mm;
}

/* سعر المفرد */
[data-calibration-key="unit-price-3"] {
  left: 74.1mm;
  top: 147.4mm;
}

/* سعر المفرد */
[data-calibration-key="unit-price-4"] {
  left: 74.1mm;
  top: 159.4mm;
}

/* سعر المفرد */
[data-calibration-key="unit-price-5"] {
  top: 171.9mm;
}

/* سعر المفرد */
[data-calibration-key="unit-price-6"] {
  top: 183.9mm;
}

/* سعر المفرد */
[data-calibration-key="unit-price-7"] {
  top: 195.9mm;
}

/* سعر المفرد */
[data-calibration-key="unit-price-8"] {
  top: 207.9mm;
}

/* سعر المفرد */
[data-calibration-key="unit-price-9"] {
  left: 74.36mm;
  top: 220.14mm;
}
