body { background: #0d0d0d; color: #e0e0e0; }

/* PIN Screen */
.pin-screen {
  position: fixed; inset: 0; background: #0d0d0d;
  display: flex; align-items: center; justify-content: center; z-index: 9999;
}
.pin-box { background: #1a1a1a; border-radius: 20px; padding: 40px; width: 320px; box-shadow: 0 20px 60px rgba(0,0,0,0.5); }
.pin-display {
  background: #111; border-radius: 12px; text-align: center;
  padding: 14px; font-size: 24px; letter-spacing: 12px; color: #FFD700;
  border: 1px solid #333;
}
.pin-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.pin-key {
  aspect-ratio: 1; border: none; border-radius: 12px; font-size: 22px; font-weight: 700;
  cursor: pointer; background: #2a2a2a; color: #fff; transition: all .15s;
}
.pin-key:hover { background: #FF6B35; transform: scale(1.05); }
.pin-key:active { transform: scale(0.95); }
.pin-clear { background: #3a1a1a; color: #ff6b6b; }
.pin-enter { background: #1a3a1a; color: #6bff6b; }

/* Waiter Alert Banner */
.waiter-alert {
  background: linear-gradient(90deg, #FF6B35, #ff4500);
  color: #fff; text-align: center; padding: 10px 20px;
  font-size: 18px; font-weight: 700; letter-spacing: 2px;
  animation: flash-banner 1s infinite;
}
@keyframes flash-banner { 0%,100% { opacity:1; } 50% { opacity:.7; } }

/* Tabs */
.nav-tabs { border-bottom-color: #333 !important; }
.nav-tabs .nav-link { border-color: transparent; border-radius: 0; }
.nav-tabs .nav-link.active { background: transparent; border-bottom: 2px solid #FF6B35; color: #FF6B35 !important; }
.nav-tabs .nav-link:hover { color: #fff !important; }

/* Kitchen Board */
.kitchen-board {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 16px; padding: 16px; min-height: calc(100vh - 140px);
  align-content: start;
}

/* Order Card */
.order-card {
  background: #1a1a1a; border-radius: 16px; overflow: hidden;
  border: 1px solid #2a2a2a; transition: border-color .3s;
  position: relative;
}
.order-card.status-pending { border-left: 4px solid #ffc107; }
.order-card.status-preparing { border-left: 4px solid #0dcaf0; }
.order-card.status-ready { border-left: 4px solid #198754; }

.order-card-header {
  padding: 12px 16px; background: #222;
  display: flex; justify-content: space-between; align-items: center;
}
.table-badge {
  background: #FF6B35; color: #fff; border-radius: 10px;
  padding: 4px 12px; font-weight: 700; font-size: 16px;
}
.order-time {
  font-size: 12px; color: #aaa;
}
.order-time.urgent { color: #ff6b6b; font-weight: 700; animation: blink 1s infinite; }
@keyframes blink { 0%,100%{opacity:1} 50%{opacity:.3} }

.order-card-body { padding: 12px 16px; }
.order-item-row {
  display: flex; justify-content: space-between; align-items: flex-start;
  padding: 6px 0; border-bottom: 1px solid #2a2a2a;
}
.order-item-row:last-child { border-bottom: none; }
.item-qty { background: #333; color: #fff; border-radius: 6px; padding: 2px 8px; font-weight: 700; font-size: 14px; margin-right: 8px; }
.item-note { font-size: 11px; color: #FF6B35; font-style: italic; }
.order-note { background: #2a2000; border-radius: 8px; padding: 6px 10px; font-size: 12px; color: #ffd700; margin-top: 8px; }

.order-card-footer { padding: 10px 16px; background: #1e1e1e; }
.order-card-footer .btn { flex: 1; }

/* Calls Table */
.call-card {
  background: #1a1a1a; border-radius: 12px; border: 1px solid #333;
  padding: 16px; display: flex; align-items: center; gap: 12px;
  margin-bottom: 10px;
}
.call-card.pending { border-left: 4px solid #ff6b6b; }
.call-card.answered { border-left: 4px solid #198754; opacity: .6; }
.call-icon { font-size: 28px; }

/* Archive */
.archive-card {
  background: #111; border-radius: 10px; padding: 10px 14px;
  margin-bottom: 8px; display: flex; align-items: center; gap: 10px; opacity: .7;
}

/* Scrollbar */
::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: #111; }
::-webkit-scrollbar-thumb { background: #333; border-radius: 3px; }
