:root { --primary: #2563eb; --primary-dark: #1d4ed8; }
.dark { --primary: #3b82f6; --primary-dark: #60a5fa; }
body { font-family: 'Inter', 'Tajawal', sans-serif; }
[dir="rtl"] body { font-family: 'Tajawal', 'Inter', sans-serif; }
.sidebar-link { transition: all 0.2s ease; }
.sidebar-link:hover, .sidebar-link.active { background: var(--primary); color: white; }
.card { transition: transform 0.2s ease, box-shadow 0.2s ease; }
.card:hover { transform: translateY(-2px); box-shadow: 0 10px 40px rgba(0,0,0,0.1); }
.status-badge { padding: 2px 10px; border-radius: 9999px; font-size: 0.75rem; font-weight: 600; }
.status-PENDING { background: #fef3c7; color: #92400e; }
.status-IN_KITCHEN { background: #dbeafe; color: #1e40af; }
.status-READY { background: #d1fae5; color: #065f46; }
.status-DELIVERED { background: #e0e7ff; color: #3730a3; }
.status-CANCELLED { background: #fee2e2; color: #991b1b; }
@keyframes slideIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
.slide-in { animation: slideIn 0.3s ease-out; }
@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
.fade-in { animation: fadeIn 0.2s ease-out; }
.modal-overlay { background: rgba(0,0,0,0.5); backdrop-filter: blur(4px); }
.order-card { border-left: 4px solid var(--primary); }
.order-card.urgent { border-left-color: #ef4444; animation: pulse 2s infinite; }
@keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.8; } }
.table-map { position: relative; min-height: 400px; background: #f8fafc; border-radius: 1rem; }
.dark .table-map { background: #1e293b; }
.table-node { position: absolute; cursor: pointer; transition: all 0.2s; }
.table-node:hover { transform: scale(1.1); z-index: 10; }