:root {
    --sr-red: #c0392b;
    --sr-orange: #e67e22;
    --sr-green: #27ae60;
}
body { background: #f8f9fa; font-size: 14px; }
.navbar-brand { font-size: 1.1rem; }

/* Dashboard Cards */
.stat-card { border-radius: 12px; border: none; box-shadow: 0 2px 8px rgba(0,0,0,.08); }
.stat-card .icon-box { width: 50px; height: 50px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 1.4rem; }

/* POS Order Screen */
.cat-tab { cursor: pointer; padding: 8px 14px; border-radius: 20px; background: #f0f0f0; font-size: 13px; white-space: nowrap; border: 2px solid transparent; transition: all .2s; }
.cat-tab.active { background: var(--sr-red); color: #fff; border-color: var(--sr-red); }
.cat-tabs-wrap { overflow-x: auto; white-space: nowrap; padding-bottom: 6px; }
.prod-card { border-radius: 10px; border: 2px solid #e9ecef; cursor: pointer; transition: all .15s; padding: 10px; background: #fff; }
.prod-card:hover { border-color: var(--sr-red); box-shadow: 0 2px 8px rgba(192,57,43,.15); }
.prod-card .price { color: var(--sr-red); font-weight: 700; font-size: 1rem; }
.prod-card .name { font-size: 13px; font-weight: 600; line-height: 1.3; }
.badge-new { background: #e74c3c; color: #fff; font-size: 10px; padding: 2px 5px; border-radius: 4px; }
.order-panel { background: #fff; border-radius: 12px; box-shadow: 0 2px 8px rgba(0,0,0,.08); height: calc(100vh - 120px); display: flex; flex-direction: column; }
.order-items { flex: 1; overflow-y: auto; }
.order-footer { border-top: 2px solid #e9ecef; padding: 12px; background: #fff; border-radius: 0 0 12px 12px; }
.qty-btn { width: 26px; height: 26px; border-radius: 50%; border: 1px solid #dee2e6; background: #f8f9fa; cursor: pointer; font-size: 14px; line-height: 1; }
.qty-btn:hover { background: var(--sr-red); color: #fff; border-color: var(--sr-red); }
.products-grid { overflow-y: auto; max-height: calc(100vh - 210px); }

/* Fulfillment */
.order-card { border-radius: 12px; border: none; box-shadow: 0 2px 8px rgba(0,0,0,.08); }
.order-card.pending { border-left: 5px solid #f39c12; }
.order-card.ready { border-left: 5px solid #27ae60; }
.status-badge-1 { background: #fff3cd; color: #856404; }
.status-badge-2 { background: #d1ecf1; color: #0c5460; }
.status-badge-3 { background: #d4edda; color: #155724; }
.status-badge-4 { background: #f8d7da; color: #721c24; }
.token-circle { width: 48px; height: 48px; border-radius: 50%; background: var(--sr-red); color: #fff; display: flex; align-items: center; justify-content: center; font-size: 1.2rem; font-weight: 700; }

/* Tables */
.table-hover tbody tr:hover { background: #fff3f3; }
thead { background: var(--sr-red); color: #fff; }

/* Forms */
.section-title { font-size: 1.1rem; font-weight: 700; color: var(--sr-red); border-bottom: 2px solid var(--sr-red); padding-bottom: 6px; margin-bottom: 16px; }
.alert-low { animation: pulse 2s infinite; }
@keyframes pulse { 0%,100% { opacity:1; } 50% { opacity:.7; } }

/* Responsive */
@media (max-width: 768px) {
    .order-panel { height: auto; }
    .products-grid { max-height: 300px; }
}

/* Print Token */
@media print {
    body * { visibility: hidden; }
    #printArea, #printArea * { visibility: visible; }
    #printArea { position: fixed; left: 0; top: 0; width: 80mm; }
}
