/* RagaFood — styles complémentaires à Tailwind */
body { font-family: 'Plus Jakarta Sans', system-ui, sans-serif; }

.custom-scrollbar::-webkit-scrollbar { width: 6px; height: 6px; }
.custom-scrollbar::-webkit-scrollbar-track { background: transparent; }
.custom-scrollbar::-webkit-scrollbar-thumb { background: #334155; border-radius: 9999px; }
.custom-scrollbar::-webkit-scrollbar-thumb:hover { background: #475569; }

/* Navigation */
.nav-btn.active { background: rgba(245, 158, 11, .12); color: #fbbf24; box-shadow: inset 3px 0 0 #f59e0b; }

/* Boutons de paiement */
.pay-btn { background: #1e293b; border: 1px solid #334155; color: #cbd5e1; }
.pay-btn:hover { background: #273449; }
.pay-btn.active { border-color: #f59e0b; color: #fbbf24; background: rgba(245, 158, 11, .08); }

/* Cartes produits */
.product-card { transition: transform .12s ease, border-color .12s ease; }
.product-card:not([disabled]):hover { transform: translateY(-2px); border-color: rgba(245, 158, 11, .6); }
.product-card:not([disabled]):active { transform: scale(.98); }
.product-card[disabled] { opacity: .45; cursor: not-allowed; }

/* Toasts */
.toast { animation: toast-in .2s ease-out; }
@keyframes toast-in { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: none; } }

/* Modales */
.modal-backdrop { animation: fade-in .15s ease-out; }
@keyframes fade-in { from { opacity: 0; } to { opacity: 1; } }

/* Tickets cuisine urgents */
.ticket-late { box-shadow: 0 0 0 1px rgba(244, 63, 94, .6), 0 0 18px rgba(244, 63, 94, .15); }

input[type=number]::-webkit-inner-spin-button { opacity: .4; }
select, input, textarea { color-scheme: dark; }

/* Reçu (écran) */
.receipt { font-family: 'Courier New', monospace; font-size: 12px; line-height: 1.45; color: #0f172a; }
.receipt .row { display: flex; justify-content: space-between; gap: 8px; }
.receipt hr { border: 0; border-top: 1px dashed #94a3b8; margin: 8px 0; }

/* Impression du reçu (ticket 80 mm) */
@media print {
  @page { size: 80mm auto; margin: 3mm; }
  html, body { background: #fff !important; height: auto !important; overflow: visible !important; }
  body > *:not(#print-root) { display: none !important; }
  #print-root { display: block !important; }
  #print-root .receipt { width: 72mm; margin: 0 auto; }
}

/* ---- GestPro ---- */
.kb-card { cursor: grab; transition: border-color .12s ease, transform .12s ease; }
.kb-card:hover { border-color: rgba(245, 158, 11, .5); }
.kb-card.dragging { opacity: .4; transform: rotate(1.5deg); }
.kb-col.drag-over { background: rgba(245, 158, 11, .06); outline: 2px dashed rgba(245, 158, 11, .35); outline-offset: -6px; border-radius: 1rem; }
.cal-cell { min-height: 108px; }
.pending-hatch { background-image: repeating-linear-gradient(45deg, rgba(255,255,255,.18) 0 4px, transparent 4px 8px); }
