body { background-color: #f8fafc; font-family: Arial, Helvetica, sans-serif; }
.nav-link { cursor: pointer; font-weight: 600; color: #475569; }
.nav-link.active { color: #0284c7 !important; border-bottom: 3px solid #0284c7; }
.sub-nav .nav-link.active { border-bottom: 2px solid #10b981; color: #10b981 !important; background: none; }
.col-qty-box { width: 75px !important; max-width: 75px !important; }
.card-order { border-left: 4px solid #0284c7; }

.receipt-preview { 
  background: #ffffff; 
  border: 1px dashed #94a3b8; 
  font-family: Arial, Helvetica, sans-serif; 
  font-size: 14px;
  line-height: 1.4;
  width: 100%; 
  max-width: 100% !important;
  margin: 0 auto; 
  padding: 20px; 
  color: #0f172a;
  box-shadow: 0 1px 3px rgba(0,0,0,0.05);
  border-radius: 8px;
}

.receipt-preview div { font-size: 13px !important; }
.receipt-preview .receipt-title { font-size: 17px !important; font-weight: 900 !important; }
.receipt-logo { max-width: 48mm; max-height: 100px; object-fit: contain; display: block; margin: 0 auto 6px auto; }

#loadingOverlay {
  position: fixed;
  top: 0; left: 0;
  width: 100vw; height: 100vh;
  background: rgba(15, 23, 42, 0.6);
  backdrop-filter: blur(3px);
  z-index: 9999;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: white;
}

/* FORMAT CETAK STRUK THERMAL 58MM */
#thermalReceiptArea * {
  font-family: Arial, Helvetica, sans-serif !important;
  font-weight: 500 !important;
  color: #000000 !important;
  letter-spacing: 0.1px !important;
  -webkit-font-smoothing: antialiased !important;
}

#thermalReceiptArea .receipt-title { 
  font-weight: 900 !important; 
  font-size: 15px !important; 
}

@media print {
  body * { visibility: hidden !important; }
  body.print-mode-thermal #thermalReceiptArea, 
  body.print-mode-thermal #thermalReceiptArea * { visibility: visible !important; }
  body.print-mode-thermal #thermalReceiptArea { 
    position: absolute !important; left: 0 !important; top: 0 !important; 
    width: 48mm !important; padding: 0 !important; margin: 0 !important; display: block !important; 
  }
  body.print-mode-pdf #pdfKasReportArea, 
  body.print-mode-pdf #pdfKasReportArea * { visibility: visible !important; }
  body.print-mode-pdf #pdfKasReportArea { 
    position: absolute !important; left: 0 !important; top: 0 !important; 
    width: 100% !important; display: block !important; 
  }
  .no-print { display: none !important; }
}