* {
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation; /* disable double-tap-to-zoom + tap delay on all elements */
}
html, body {
  overscroll-behavior: none;
  touch-action: manipulation;
  -ms-touch-action: manipulation;
  height: 100%;
}
body { overflow-x: hidden; }

.kitchen-btn {
  min-height: 64px;
  font-size: 1.1rem;
  transition: transform 0.1s ease, box-shadow 0.15s ease;
}
.kitchen-btn:active { transform: scale(0.97); }

.pin-key {
  min-height: 72px;
  min-width: 72px;
  font-size: 1.75rem;
  font-weight: 700;
}
.pin-key:active { transform: scale(0.94); background-color: rgba(220,38,38,0.12); }

.card-shadow { box-shadow: 0 2px 10px rgba(0,0,0,0.06), 0 1px 3px rgba(0,0,0,0.08); }

.slide-in { animation: slideIn 0.25s ease-out; }
@keyframes slideIn { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }

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

.pulse-dot { animation: pulseDot 1.4s ease-in-out infinite; }
@keyframes pulseDot { 0%,100% { opacity: 1; } 50% { opacity: 0.3; } }

::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-thumb { background: #D1D5DB; border-radius: 3px; }

.badge { display: inline-flex; align-items: center; padding: 2px 10px; border-radius: 9999px; font-size: 0.75rem; font-weight: 700; }
.toast-enter { animation: toastIn 0.3s ease-out; }
@keyframes toastIn { from { opacity:0; transform: translateY(-10px);} to {opacity:1; transform: translateY(0);} }
