body { font-family: 'Plus Jakarta Sans', sans-serif; }
.custom-scrollbar::-webkit-scrollbar { width: 4px; height: 4px; }
.custom-scrollbar::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 4px; }
.no-scrollbar::-webkit-scrollbar { display: none; }
.no-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }

/* Shipment Scanner Styles */
@keyframes laserScan {
  0% { top: 6%; opacity: 0.7; }
  50% { top: 92%; opacity: 1; }
  100% { top: 6%; opacity: 0.7; }
}
.laser-line {
  animation: laserScan 2s ease-in-out infinite;
}
.scanner-grid {
  background-image: 
    linear-gradient(rgba(99, 102, 241, 0.15) 1px, transparent 1px),
    linear-gradient(90deg, rgba(99, 102, 241, 0.15) 1px, transparent 1px);
  background-size: 16px 16px;
}
#scanner-reader {
  width: 100% !important;
  height: 100% !important;
  overflow: hidden;
}
#scanner-reader video {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  border-radius: 1rem;
}

:root[data-theme="mocha"] {
  --bg-app: #faf8f5;
  --bg-card: #ffffff;
  --bg-sidebar: #1f1916;
  --color-primary: #7c4d32;
  --color-primary-hover: #633c24;
  --color-primary-light: #f5ece6;
  --border-color: #e5dfd8;
  --text-main: #292524;
}

:root[data-theme="dark"] {
  --bg-app: #0b0f19;
  --bg-card: #151c2e;
  --bg-sidebar: #050811;
  --color-primary: #4f46e5;
  --color-primary-hover: #4338ca;
  --color-primary-light: #1e293b;
  --border-color: #1e293b;
  --text-main: #f8fafc;
}

:root[data-theme="ocean"] {
  --bg-app: #f1f5f9;
  --bg-card: #ffffff;
  --bg-sidebar: #0f172a;
  --color-primary: #2563eb;
  --color-primary-hover: #1d4ed8;
  --color-primary-light: #eff6ff;
  --border-color: #cbd5e1;
  --text-main: #0f172a;
}

:root[data-theme="emerald"] {
  --bg-app: #f4f8f6;
  --bg-card: #ffffff;
  --bg-sidebar: #062319;
  --color-primary: #059669;
  --color-primary-hover: #047857;
  --color-primary-light: #ecfdf5;
  --border-color: #d1fae5;
  --text-main: #064e3b;
}

.theme-bg-app { background-color: var(--bg-app); }
.theme-bg-card { background-color: var(--bg-card); }
.theme-bg-sidebar { background-color: var(--bg-sidebar); }
.theme-btn-primary { background-color: var(--color-primary); color: #ffffff; }
.theme-btn-primary:hover { background-color: var(--color-primary-hover); }
.theme-accent-light { background-color: var(--color-primary-light); color: var(--color-primary); }
.theme-text-primary { color: var(--color-primary); }
.theme-border { border-color: var(--border-color); }

@keyframes badge-pop {
  0% { transform: scale(0.6); }
  50% { transform: scale(1.2); }
  100% { transform: scale(1); }
}
.badge-pop-animate {
  animation: badge-pop 0.25s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

@media print {
  body * { visibility: hidden; }
  .pos-printable-active, .pos-printable-active * { visibility: visible !important; }
  #thermal-receipt-container, #thermal-receipt-container * { visibility: visible; }
  #thermal-delivery-note-container, #thermal-delivery-note-container * { visibility: visible; }
  .pos-printable-active, #thermal-receipt-container, #thermal-delivery-note-container {
    position: absolute;
    left: 0;
    top: 0;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    box-shadow: none !important;
  }
}
