:root{--brand:#111827;--brand-2:#1f2937;--muted:#6b7280;--card:#ffffff;--soft:#f3f4f6;--line:#e5e7eb;--success:#16a34a;--danger:#dc2626;--warning:#f59e0b;--radius:18px}*{box-sizing:border-box}body{font-family:Tahoma,Arial,sans-serif;color:#111827}.small-muted{color:var(--muted);font-size:.88rem}.customer-bg{background:linear-gradient(180deg,#111827 0,#f5f6f8 230px);min-height:100vh}.customer-shell{max-width:960px;margin:auto;padding-left:12px;padding-right:12px}.hero-card{background:#fff;border-radius:22px;padding:18px;box-shadow:0 18px 45px rgba(0,0,0,.16)}.cat-scroll{display:flex;gap:8px;overflow:auto;padding:10px 0;position:sticky;top:0;z-index:5;background:#f5f6f8}.cat-chip{border:1px solid #ddd;border-radius:999px;background:#fff;padding:8px 14px;white-space:nowrap}.cat-chip.active{background:#111827;color:#fff;border-color:#111827}.menu-img{width:96px;height:86px;object-fit:cover;border-radius:14px;background:#eee}.qty-box{width:78px}.cart-fixed{position:sticky;bottom:10px;z-index:10}.table>:not(caption)>*>*{vertical-align:middle}.badge-status{font-size:.78rem}.print-only{display:none}

/* Staff professional layout */
.staff-body{background:#f6f7fb;min-height:100vh}.staff-layout{display:flex;min-height:100vh}.staff-sidebar{width:282px;background:linear-gradient(180deg,#111827,#0f172a);color:#fff;position:fixed;inset-block:0;inset-inline-start:0;z-index:1040;display:flex;flex-direction:column;box-shadow:-8px 0 28px rgba(15,23,42,.18)}.sidebar-brand{display:flex;align-items:center;gap:12px;padding:20px 18px;border-bottom:1px solid rgba(255,255,255,.08)}.brand-mark{width:44px;height:44px;border-radius:14px;background:#fff;color:#111827;display:grid;place-items:center;font-weight:800}.staff-nav{padding:14px 12px;overflow:auto;flex:1}.nav-section{font-size:.75rem;color:#9ca3af;margin:18px 10px 8px}.staff-nav-link{position:relative;display:flex;align-items:center;gap:10px;color:#d1d5db;text-decoration:none;border-radius:14px;padding:11px 12px;margin:4px 0;transition:.15s}.staff-nav-link:hover,.staff-nav-link.active{background:rgba(255,255,255,.10);color:#fff}.nav-ico{width:24px;text-align:center}.nav-badge{margin-inline-start:auto;background:#ef4444;color:#fff;border-radius:999px;min-width:22px;height:22px;align-items:center;justify-content:center;font-size:.76rem;font-weight:700;padding:0 7px}.sidebar-footer{padding:14px;border-top:1px solid rgba(255,255,255,.08)}.user-pill{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:10px 12px}.user-pill span{display:block;color:#9ca3af;font-size:.82rem;margin-top:2px}.staff-main{margin-inline-start:282px;min-width:0;flex:1}.staff-topbar{height:74px;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);position:sticky;top:0;z-index:1000;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:0 22px;border-bottom:1px solid var(--line)}.topbar-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.staff-content{max-width:1480px}.page-title{background:#fff;border-radius:var(--radius);padding:14px 18px;box-shadow:0 8px 24px rgba(15,23,42,.05);border:1px solid #eef0f4}.staff-body .card{border:1px solid #eef0f4;border-radius:var(--radius);box-shadow:0 10px 28px rgba(15,23,42,.05)!important}.staff-body .btn{border-radius:12px}.staff-body .form-control,.staff-body .form-select{border-radius:12px}.stat-card{border-radius:18px;background:#fff;padding:18px;border:1px solid #eef0f4;box-shadow:0 10px 28px rgba(15,23,42,.05)}.stat-card .stat-value{font-size:1.7rem;font-weight:800}.order-card{border-inline-start:5px solid #111827}.order-card.status-new{border-inline-start-color:#2563eb}.order-card.status-preparing{border-inline-start-color:#f59e0b}.order-card.status-ready{border-inline-start-color:#16a34a}.order-card.status-pending_approval{border-inline-start-color:#dc2626}.item-line{background:#f9fafb;border:1px solid #eef0f4;border-radius:14px;padding:10px;margin-bottom:8px}.sidebar-backdrop{display:none}

@media(max-width:991.98px){.staff-sidebar{transform:translateX(110%);transition:.2s}.staff-main{margin-inline-start:0}.sidebar-open .staff-sidebar{transform:translateX(0)}.sidebar-open .sidebar-backdrop{display:block;position:fixed;inset:0;background:rgba(15,23,42,.45);z-index:1035}.staff-topbar{height:auto;min-height:70px;padding:12px}.topbar-actions{justify-content:flex-end}.page-title{display:none}.staff-content{padding-top:12px!important}}
@media(max-width:575.98px){.menu-img{width:88px;height:78px}.cart-fixed{bottom:4px}.staff-sidebar{width:86vw}.topbar-actions .btn-dark{display:none}.staff-topbar h5{font-size:1rem}.staff-content{padding-inline:10px!important}}
@media print{.no-print,.staff-sidebar,.staff-topbar,.page-title,.sidebar-backdrop{display:none!important}.staff-main{margin:0!important}.staff-content,.container-fluid{padding:0!important;max-width:none!important}body{background:#fff!important}.print-only{display:block}.card{box-shadow:none!important;border:0!important}.invoice{width:72mm;margin:auto;font-size:12px}.invoice table{width:100%}}

.brand-logo-mark{object-fit:cover;background:#fff}
.waiter-call-card{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid #e5e7eb;background:#fff;border-radius:18px;padding:14px;margin-bottom:10px;box-shadow:0 10px 26px rgba(15,23,42,.06)}
.waiter-call-card h5{margin:0;font-weight:800}
.waiter-call-card.late{border-color:#f59e0b;background:#fff7ed;box-shadow:0 12px 30px rgba(245,158,11,.16)}
.invoice-brand-logo{width:64px;height:64px;max-width:64px;max-height:64px;object-fit:contain;display:block;margin:0 auto 6px}
.day-close-report .metric{border:1px solid #eef0f4;border-radius:16px;background:#fff;padding:14px;min-height:92px}
.day-close-report .metric b{display:block;font-size:1.25rem}
@media(max-width:575.98px){.waiter-call-card{align-items:stretch;flex-direction:column}.waiter-call-card .btn{width:100%}}
