/* Deloura V27 receipt/print hardening
   - centered 66mm printable content inside 72mm driver page
   - standalone receipt print only: never print POS screen
   - hide old token UI
   - old modal print fallback protected if cached code still calls it */

:root {
  --deloura-paper-width: 72mm;
  --deloura-safe-width: 66mm;
  --deloura-bottom-feed: 8mm;
}

/* Hide old Token UI from POS/table/order screens without touching auth/FCM tokens internally */
#tokenModal,
[data-modal="#tokenModal"],
input#token,
label[for="token"] {
  display: none !important;
  visibility: hidden !important;
  max-width: 0 !important;
  max-height: 0 !important;
  width: 0 !important;
  height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  overflow: hidden !important;
}

@media screen {
  #receiptModal #print {
    width: var(--deloura-paper-width) !important;
    max-width: var(--deloura-paper-width) !important;
    min-width: var(--deloura-paper-width) !important;
    background: #fff !important;
    color: #000 !important;
  }
  #receiptModal #print .modal-body {
    width: var(--deloura-safe-width) !important;
    max-width: var(--deloura-safe-width) !important;
    margin: 0 auto !important;
    padding: 3mm 0 var(--deloura-bottom-feed) !important;
    background: #fff !important;
    color: #000 !important;
    box-sizing: border-box !important;
  }
}

@media print {
  @page { size: 72mm auto; margin: 0 !important; }

  html, body {
    margin: 0 !important;
    padding: 0 !important;
    width: 72mm !important;
    max-width: 72mm !important;
    min-width: 72mm !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
    background: #fff !important;
    color: #000 !important;
    color-scheme: light !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  body * { visibility: hidden !important; }

  #receiptModal,
  #receiptModal *,
  #print,
  #print * {
    visibility: visible !important;
  }

  #receiptModal {
    display: block !important;
    position: static !important;
    inset: auto !important;
    width: 72mm !important;
    max-width: 72mm !important;
    min-width: 72mm !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    background: #fff !important;
    color: #000 !important;
    box-shadow: none !important;
    transform: none !important;
  }

  #receiptModal .modal-dialog,
  #print {
    display: block !important;
    position: static !important;
    width: 72mm !important;
    max-width: 72mm !important;
    min-width: 72mm !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    background: #fff !important;
    color: #000 !important;
    box-shadow: none !important;
    border: 0 !important;
    border-radius: 0 !important;
    transform: none !important;
    font-family: Tahoma, Arial, sans-serif !important;
  }

  #receiptModal .modal-body,
  #print .modal-body {
    display: block !important;
    box-sizing: border-box !important;
    width: 66mm !important;
    max-width: 66mm !important;
    min-width: 66mm !important;
    margin: 0 auto !important;
    padding: 3mm 0 8mm !important;
    background: #fff !important;
    color: #000 !important;
    font-family: Tahoma, Arial, sans-serif !important;
    font-size: 12px !important;
    line-height: 1.22 !important;
    direction: rtl !important;
    overflow: visible !important;
  }

  #receiptModal .modal-body *,
  #print .modal-body * {
    color: #000 !important;
    line-height: 1.22 !important;
    text-shadow: none !important;
    box-shadow: none !important;
    -webkit-filter: none !important;
    filter: none !important;
    box-sizing: border-box !important;
    background-image: none !important;
  }

  #receiptModal .modal-body > div:first-child > div:first-child,
  #print .modal-body > div:first-child > div:first-child {
    font-size: 18px !important;
    font-weight: 900 !important;
    line-height: 1.1 !important;
  }

  #receiptModal .modal-body > div:last-child,
  #print .modal-body > div:last-child {
    display: block !important;
    visibility: visible !important;
    margin-top: 4.5mm !important;
    padding-bottom: 7mm !important;
    color: #000 !important;
    font-size: 16px !important;
    font-weight: 900 !important;
    text-align: center !important;
  }

  #receiptModal .modal-body:after,
  #print .modal-body:after {
    content: "" !important;
    display: block !important;
    height: 7mm !important;
    min-height: 7mm !important;
    clear: both !important;
  }

  #receiptModal .modal-header,
  #receiptModal button,
  #receiptModal .hidden-print,
  #print .modal-header,
  #print button,
  #print .hidden-print,
  #receiptModal [data-modal="#tokenModal"],
  #receiptModal #tokenModal,
  #receiptModal input#token,
  #print [data-modal="#tokenModal"],
  #print #tokenModal,
  #print input#token {
    display: none !important;
  }

  #print table {
    width: 100% !important;
    max-width: 100% !important;
    table-layout: fixed !important;
    border-collapse: collapse !important;
  }

  #print th, #print td {
    padding: .9mm .2mm !important;
    vertical-align: top !important;
    overflow: visible !important;
    word-break: break-word !important;
    overflow-wrap: anywhere !important;
    background: #fff !important;
    color: #000 !important;
    font-size: 12px !important;
  }

  #print, #print * {
    box-sizing: border-box !important;
    background-image: none !important;
  }
}

/* FoodScan receipt premium body upgrade - keep header/footer untouched */
#print .modal-body table,
#receiptModal #print table{
 border-collapse:separate !important;
 border-spacing:0 2mm !important;
}
#print .modal-body table tr,
#receiptModal #print table tr{
 border-bottom:1px dashed #777 !important;
}
#print th{
 font-weight:900 !important;
 border-bottom:2px solid #000 !important;
 padding-bottom:2mm !important;
}
#print td{
 font-size:13px !important;
 padding:1.2mm 1mm !important;
}
#print td:first-child{
 font-weight:700 !important;
 text-align:right !important;
}
#print td:nth-child(2){
 text-align:center !important;
 font-weight:800 !important;
 white-space:nowrap !important;
}
#print td:last-child{
 text-align:left !important;
 font-weight:700 !important;
}
#print .total,
#print .grand-total{
 border-top:2px solid #000 !important;
 margin-top:3mm !important;
 padding-top:3mm !important;
 font-weight:900 !important;
}

/* Premium Arabic cashier receipt columns: price left, qty center, product right */
.items-table { direction: rtl; }
.items-table .price-col { text-align:left !important; width:22%; }
.items-table .qty-col { text-align:center !important; width:18%; }
.items-table .item-col { text-align:right !important; width:60%; }
