/* Global Styles */
body {
  font-family: 'Poppins', sans-serif;
  background-color: #f3f4f6;
  color: #1f2937;
  margin: 0;
  padding: 0;
}

/* Utilities */
.hidden { display: none !important; }
.hide-scrollbar::-webkit-scrollbar { display: none; }
.hide-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }
.custom-scrollbar { overflow-y: auto; }

/* Scrollbar */
::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: #f1f1f1; }
::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: #94a3b8; }

/* Animations */
@keyframes spin { to { transform: rotate(360deg); } }
.animate-spin { animation: spin 1s linear infinite; }

/* Print Styles */
@media print {
  body * { visibility: hidden; }
  #receipt-print, #receipt-print * { visibility: visible; }
  #receipt-print {
    position: absolute; left: 0; top: 0; width: 58mm;
    margin: 0; padding: 0; background: white; color: black;
    font-size: 10px; line-height: 1.2; border: none;
  }
  button, .modal, header, aside, .fixed, .no-print { display: none !important; }
}