@import url(https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap);:root{--bg:#faf9f6;--card-bg:#fff;--text:#1f2937;--text-light:#6b7280;--border:#e5e7eb;--hover:#f3f4f6;--accent:#d4af37;--accent-hover:#b8962e;--secondary:#064e3b;--shadow:0 4px 6px -1px #0000000d,0 2px 4px -1px #00000008}*,:after,:before{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;background:#faf9f6;background:var(--bg);color:#1f2937;color:var(--text);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif}button{background:none;border:none;cursor:pointer}button,input,select,textarea{font-family:inherit}a{color:inherit;text-decoration:none}.status-pill{border-radius:12px;font-size:11px;font-weight:700;letter-spacing:.5px;padding:4px 10px;text-transform:uppercase}.status-pill.placed{background:#fef3c7;color:#d97706}.status-pill.preparing{background:#dbeafe;color:#2563eb}.status-pill.ready{background:#dcfce7;color:#16a34a}.status-pill.delivered{background:#ede9fe;color:#7c3aed}.section-title{color:#6b7280;font-size:14px;font-weight:700;letter-spacing:.5px;margin-bottom:12px;text-transform:uppercase;width:100%}.handover-btn{background:#d4af37;background:var(--accent);border-radius:6px;color:#fff;font-size:12px;font-weight:600;padding:6px 12px;transition:all .2s!important}.pulse-ready{animation:pulse-border 2s infinite}@keyframes pulse-border{0%{box-shadow:0 0 0 0 #16a34a66}70%{box-shadow:0 0 0 10px #16a34a00}to{box-shadow:0 0 0 0 #16a34a00}}.active-split{gap:20px;width:100%}.active-split,.toast-stack{display:flex;flex-direction:column}.toast-stack{bottom:max(20px,env(safe-area-inset-bottom));gap:10px;left:auto;max-width:min(420px,calc(100vw - 32px));pointer-events:none;position:fixed;right:max(16px,env(safe-area-inset-right));z-index:10000}.toast{align-items:flex-start;animation:toast-in .28s ease-out;border:1px solid #e5e7eb;border:1px solid var(--border,#e5e7eb);border-radius:12px;box-shadow:0 10px 40px #0000001f,0 2px 8px #0000000f;display:flex;font-size:14px;font-weight:500;gap:12px;justify-content:space-between;line-height:1.4;padding:14px 16px;pointer-events:auto}@keyframes toast-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.toast-success{background:#ecfdf5;border-color:#a7f3d0;color:#065f46}.toast-error{background:#fef2f2;border-color:#fecaca;color:#991b1b}.toast-info{background:#fff;background:var(--card-bg,#fff);color:#1f2937;color:var(--text,#1f2937)}.toast-text{flex:1 1;min-width:0}.toast-dismiss{align-items:center;background:#0000;border-radius:8px;color:inherit;display:flex;flex-shrink:0;font-size:20px;height:28px;justify-content:center;line-height:1;opacity:.55;transition:opacity .15s,background .15s;width:28px}.toast-dismiss:hover{background:#0000000f;opacity:1}@media (max-width:768px){.toast-stack{bottom:max(16px,env(safe-area-inset-bottom));left:12px;max-width:none;right:12px}}.confirm-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#11182773;display:flex;inset:0;justify-content:center;padding:max(24px,env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left));position:fixed;z-index:10001}.confirm-dialog{background:#fff;background:var(--card-bg,#fff);border:1px solid #e5e7eb;border:1px solid var(--border,#e5e7eb);border-radius:16px;box-shadow:0 24px 48px #00000026;max-width:400px;padding:22px 22px 18px;width:100%}.confirm-dialog h3{color:#1f2937;color:var(--text,#1f2937);font-size:17px;font-weight:700;margin:0 0 8px}.confirm-dialog p{color:#6b7280;color:var(--text-light,#6b7280);font-size:14px;line-height:1.5;margin:0 0 20px}.confirm-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.confirm-btn{border-radius:10px;font-size:14px;font-weight:600;min-height:44px;padding:0 18px;transition:background .15s,color .15s,transform .1s}.confirm-btn.cancel{background:#f3f4f6;background:var(--bg,#f3f4f6);border:1px solid #e5e7eb;border:1px solid var(--border,#e5e7eb);color:#374151;color:var(--text,#374151)}.confirm-btn.cancel:hover{background:#e5e7eb;background:var(--hover,#e5e7eb)}.confirm-btn.primary{background:#d4af37;background:var(--accent,#d4af37);border:1px solid #0000;color:#fff}.confirm-btn.primary:hover{filter:brightness(.95)}.confirm-btn.primary.danger{background:#dc2626;color:#fff}.confirm-btn.primary.danger:hover{background:#b91c1c}.confirm-btn:active{transform:scale(.98)}.login-container{align-items:center;display:flex;height:100vh;justify-content:center;width:100vw}.login-card{background:var(--card-bg);border:1px solid var(--border);border-radius:20px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:28px;max-width:480px;padding:40px;width:100%}.login-header{text-align:center}.login-header h2{color:var(--text);font-size:34px;font-weight:700}.login-header h2 span{color:var(--accent)}.login-header p{color:var(--text-light);font-size:16px;margin-top:6px}.demo-subtitle{color:var(--text-light);font-size:15px;margin-top:-10px;text-align:center}.demo-grid{display:flex;flex-direction:column;gap:12px}.demo-login-btn{align-items:center;background:var(--bg);border:1px solid var(--border);border-radius:14px;color:var(--text);display:flex;gap:16px;padding:16px 20px;text-align:left;transition:all .3s ease}.demo-login-btn:hover{background:color-mix(in srgb,var(--role-color) 8%,#fff);border-color:var(--role-color);box-shadow:0 4px 20px color-mix(in srgb,var(--role-color) 15%,#0000);transform:translateX(4px)}.demo-icon{align-items:center;background:color-mix(in srgb,var(--role-color) 10%,#fff);border-radius:12px;display:flex;flex-shrink:0;font-size:32px;height:48px;justify-content:center;width:48px}.demo-info{display:flex;flex-direction:column;gap:2px}.demo-role{font-size:16px;font-weight:600}.demo-user{font-size:13px}.demo-arrow,.demo-user{color:var(--text-light)}.demo-arrow{font-size:20px;margin-left:auto;transition:all .3s ease}.demo-login-btn:hover .demo-arrow{color:var(--role-color);transform:translateX(4px)}.sidebar{background:var(--card-bg);border-right:1px solid var(--border);display:flex;flex-direction:column;flex-shrink:0;padding:24px 16px;width:250px}.brand{gap:10px;margin-bottom:16px}.brand,.logo-icon{align-items:center;display:flex}.logo-icon{background:var(--accent);border-radius:10px;font-size:18px;height:38px;justify-content:center;width:38px}.brand h1{color:var(--text);font-size:22px;font-weight:700}.brand span{color:var(--accent)}.role-badge{background:color-mix(in srgb,var(--role-color) 8%,#fff);border:1px solid var(--role-color);border-radius:8px;color:var(--role-color);font-size:12px;font-weight:600;margin-bottom:24px;padding:6px 14px;text-align:center}.nav-menu{display:flex;flex:1 1;flex-direction:column;gap:6px}.nav-btn{align-items:center;background:#0000;border-radius:10px;color:var(--text-light);display:flex;font-size:15px;font-weight:500;justify-content:space-between;padding:12px 16px;text-align:left;transition:all .2s ease}.nav-btn:hover{background:var(--hover);color:var(--text)}.nav-btn.active{background:color-mix(in srgb,var(--accent) 12%,#fff);color:var(--accent);font-weight:600}.nav-count{background:var(--accent);border-radius:10px;color:#fff;font-size:11px;font-weight:700;padding:2px 8px}.sidebar-footer{border-top:1px solid var(--border);display:flex;flex-direction:column;gap:10px;margin-top:auto;padding-top:16px}.sidebar-user{color:var(--text);font-size:14px;font-weight:500;gap:10px}.avatar,.sidebar-user{align-items:center;display:flex}.avatar{border-radius:50%;color:#fff;font-size:13px;font-weight:600;height:32px;justify-content:center;width:32px}.logout-btn{background:#fee2e2;border:1px solid #fecaca;border-radius:10px;color:#dc2626;font-size:14px;font-weight:600;padding:10px;transition:all .2s ease;width:100%}.logout-btn:hover{background:#dc2626;color:#fff}@media (max-width:768px){.sidebar{align-items:center;border-bottom:1px solid var(--border);border-right:none;flex-direction:row;gap:12px;height:auto;justify-content:space-between;padding:12px 16px;position:-webkit-sticky;position:sticky;top:0;width:100%;z-index:1001}.brand{margin-bottom:0}.brand h1{font-size:18px}.logo-icon{font-size:14px;height:30px;width:30px}.role-badge,.sidebar-footer{display:none!important}.nav-menu{flex-direction:row;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}.nav-menu::-webkit-scrollbar{display:none}.nav-btn{font-size:13px;min-height:44px;padding:8px 12px;white-space:nowrap}}.top-bar{align-items:center;background:var(--card-bg);border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:16px 24px}.top-bar h2{color:var(--text);font-size:22px;font-weight:700}.top-bar-right{display:flex;gap:12px}.top-bar-right,.waiter-top-actions{align-items:center}.waiter-mobile-logout{align-items:center;background:var(--bg);border:1px solid var(--border);border-radius:10px;color:var(--text-light);display:none;font-size:14px;font-weight:600;justify-content:center;min-height:44px;padding:0 14px;transition:all .2s ease}.waiter-mobile-logout:active{background:var(--hover);color:var(--text)}.notif-bell{align-items:center;background:var(--bg);border:1px solid var(--border);border-radius:10px;cursor:pointer;display:inline-flex;font-size:18px;justify-content:center;min-height:44px;min-width:44px;padding:8px 14px;position:relative;transition:all .2s ease}.notif-bell:hover{border-color:var(--accent)}.notif-badge{align-items:center;animation:pulse 2s infinite;background:#dc2626;border-radius:50%;color:#fff;display:flex;font-size:10px;font-weight:700;height:18px;justify-content:center;position:absolute;right:-6px;top:-6px;width:18px}@keyframes pulse{0%,to{box-shadow:0 0 0 0 #dc262680}50%{box-shadow:0 0 0 6px #dc262600}}.notif-panel{background:var(--card-bg);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:8px;max-height:380px;overflow-y:auto;padding:16px;position:absolute;right:20px;top:66px;width:360px;z-index:100}.notif-panel h3{color:var(--text);font-size:15px;font-weight:600;margin-bottom:4px}.notif-item{border-radius:10px;cursor:pointer;padding:10px 14px;transition:all .2s ease}.notif-item.unread{background:#fef3c7;border:1px solid #fde68a}.notif-item.read{background:var(--bg);border:1px solid #0000;opacity:.6}.notif-item p{color:var(--text);font-size:13px;margin-bottom:4px}.notif-time{color:var(--text-light);font-size:11px}.table-bar{align-items:center;background:var(--bg);border-bottom:1px solid var(--border);display:flex;gap:14px;padding:12px 24px}.table-bar label{font-size:15px;white-space:nowrap}.table-bar label,.table-input{color:var(--text);font-weight:600}.table-input{background:var(--card-bg);border:1px solid var(--border);border-radius:8px;font-family:inherit;font-size:16px;padding:8px 14px;text-align:center;width:70px}.table-input:focus{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 20%,#0000);outline:none}.token-tag{color:var(--text-light);font-size:13px;margin-left:auto}.token-tag.editing{color:var(--accent);font-weight:600}.cat-tabs{border-bottom:1px solid var(--border);padding:12px 24px}.menu-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));padding:20px 24px 40px}.food-price{color:var(--accent);font-size:16px;font-weight:700}.status-tabs-container{border-bottom:1px solid var(--border);padding:16px 24px}.token-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));padding:20px 24px}.empty-full{color:var(--text-light);font-style:italic;grid-column:1/-1;padding:60px 0;text-align:center}.token-card{background:var(--card-bg);border:1px solid var(--border);border-radius:14px;display:flex;flex-direction:column;gap:10px;padding:16px;transition:all .2s ease}.token-card.status-placed{border-left:4px solid #f59e0b}.token-card.status-preparing{border-left:4px solid #3b82f6}.token-card.status-ready{border-left:4px solid #22c55e}.token-card.status-delivered{border-left:4px solid #8b5cf6}.token-header{align-items:center;display:flex;justify-content:space-between}.token-id{color:var(--text);font-size:15px;font-weight:700}.table-badge{background:#eff6ff;border-radius:6px;color:#3b82f6;display:inline-block;font-size:11px;font-weight:600;margin-left:8px;padding:2px 8px}.status-pill.billed{background:#d1fae5;color:#059669}.token-items{background:var(--bg);border-radius:8px;display:flex;flex-direction:column;gap:4px;padding:8px 10px}.token-item-row{color:var(--text-light);font-size:13px}.token-footer,.token-item-row{display:flex;justify-content:space-between}.token-footer{align-items:center}.token-time{color:var(--text-light);font-size:11px}.token-total{color:var(--accent);font-size:15px;font-weight:700}.act-btn{border-radius:8px;font-size:13px;font-weight:600;padding:8px 12px;text-align:center;transition:all .2s ease}.act-btn.add-more{background:#eff6ff;border:1px solid #bfdbfe;color:#2563eb;margin-bottom:4px}.act-btn.add-more:hover{background:#dbeafe;border-color:#3b82f6}.act-btn.deliver{background:#dcfce7;border:1px solid #bbf7d0;color:#16a34a}.act-btn.deliver:hover{background:#22c55e;color:#fff}.done-tag{color:#16a34a;font-size:13px;font-weight:600}.wait-tag{color:var(--text-light);font-size:12px;font-style:italic}.cart-panel{background:var(--card-bg);border-left:1px solid var(--border);display:flex;flex-direction:column;flex-shrink:0;padding:20px;width:340px}.cart-header{align-items:center;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;margin-bottom:16px;padding-bottom:12px}.cart-header h2{color:var(--text);font-size:18px;font-weight:700}.cart-table{color:var(--text-light);font-size:12px}.cart-list{display:flex;flex:1 1;flex-direction:column;gap:8px;overflow-y:auto}.empty-hint{color:var(--text-light);font-size:14px;font-style:italic;margin-top:40px;text-align:center}.cart-row{grid-gap:10px;align-items:center;background:var(--bg);border-radius:10px;display:grid;gap:10px;grid-template-columns:1fr auto auto auto;padding:10px 12px}.cart-info h4{color:var(--text);font-size:13px;font-weight:600;margin-bottom:2px;max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cart-info p{color:var(--text-light);font-size:11px}.qty-ctrl{background:var(--card-bg);border:1px solid var(--border);border-radius:6px;gap:6px;padding:2px 6px}.qty-ctrl,.qty-ctrl button{align-items:center;display:flex}.qty-ctrl button{background:#0000;border-radius:4px;color:var(--text);font-size:14px;height:20px;justify-content:center;width:20px}.qty-ctrl button:hover{background:var(--hover)}.qty-ctrl span{font-size:13px;font-weight:600;text-align:center;width:16px}.cart-total{color:var(--text);font-size:13px;font-weight:700;min-width:50px;text-align:right}.remove-btn{background:#0000;color:#dc2626;cursor:pointer;font-size:16px;opacity:.5}.remove-btn:hover{opacity:1}.cart-summary{border-top:1px solid var(--border);display:flex;flex-direction:column;gap:10px;margin-top:16px;padding-top:16px}.sum-row{color:var(--text-light);display:flex;font-size:13px;justify-content:space-between}.primary-btn{background:var(--accent);border-radius:10px;box-shadow:0 2px 8px color-mix(in srgb,var(--accent) 30%,#0000);color:#fff;font-size:15px;font-weight:600;margin-top:8px;padding:12px;transition:all .2s ease}.primary-btn:hover{box-shadow:0 4px 12px color-mix(in srgb,var(--accent) 40%,#0000);transform:translateY(-1px)}.primary-btn:disabled{cursor:not-allowed;opacity:.4;transform:none}.edit-btns{display:flex;gap:8px}.cancel-btn{background:#fee2e2;border:1px solid #fecaca;border-radius:10px;color:#dc2626;flex:1 1;font-size:14px;font-weight:600;margin-top:8px;padding:10px;transition:all .2s ease}.cancel-btn:hover{background:#dc2626;color:#fff}.ready-food-alert{align-items:center;animation:slideDown .3s ease-out;background:#fef3c7;border:1px solid #fcd34d;border-radius:12px;box-shadow:0 4px 12px #fbbf2433;color:#92400e;display:flex;font-weight:600;justify-content:space-between;margin:16px 24px 0;padding:12px 20px}.ready-alert-content{align-items:center;display:flex;gap:12px}.ready-icon-pulse{animation:iconBounce 1s infinite alternate;font-size:20px}.view-ready-btn{background:#d97706;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:13px;padding:6px 14px;transition:all .2s}.view-ready-btn:hover{background:#b45309}.pill-ready.has-ready{animation:readyPulse 2s infinite}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes iconBounce{0%{transform:scale(1)}to{transform:scale(1.3)}}@keyframes readyPulse{0%{box-shadow:0 0 0 0 #22c55e99}70%{box-shadow:0 0 0 10px #22c55e00}to{box-shadow:0 0 0 0 #22c55e00}}@media (max-width:1024px){.cart-panel{border-left:none;border-top:1px solid var(--border);width:100%}}@media (max-width:768px){.waiter-mobile-logout{display:inline-flex}.top-bar{flex-shrink:0;padding:max(12px,env(safe-area-inset-top)) 14px 12px;position:-webkit-sticky;position:sticky;top:0;z-index:50}.top-bar h2{font-size:17px;line-height:1.25}.notif-panel{box-shadow:0 12px 40px #0000002e;left:12px;max-height:min(55vh,360px);position:fixed;right:12px;top:calc(108px + env(safe-area-inset-top, 0px));width:auto;z-index:1200}.table-bar{flex-wrap:wrap;gap:10px;padding:12px 14px}.table-bar label{flex:0 0 auto}.table-input{font-size:16px;min-height:44px;width:72px}.token-tag{flex:1 1 100%;font-size:12px;margin-left:0}.cat-tabs{-webkit-overflow-scrolling:touch;flex-wrap:nowrap;gap:8px;overflow-x:auto;padding:10px 14px;scroll-snap-type:x proximity;scrollbar-width:none}.cat-tabs::-webkit-scrollbar{display:none}.cat-tab{flex:0 0 auto;font-size:14px;min-height:44px;padding:10px 14px;scroll-snap-align:start}.menu-grid{gap:10px;grid-template-columns:repeat(2,minmax(0,1fr));padding:12px 14px calc(24px + env(safe-area-inset-bottom))}.food-img{height:100px}.food-info h3{font-size:13px;line-height:1.3}.food-price{font-size:15px}.add-btn{font-size:20px;height:40px;min-height:44px;min-width:44px;width:40px}.status-tabs-container{gap:8px;padding:12px 14px}.status-tab{font-size:13px;min-height:44px;padding:10px 14px}.token-grid{gap:12px;grid-template-columns:1fr;padding:12px 14px calc(20px + env(safe-area-inset-bottom))}.token-header{align-items:flex-start;flex-wrap:wrap;gap:8px}.status-pill{flex-shrink:0}.act-btn.deliver{font-size:14px;min-height:48px;padding:12px 14px;width:100%}.waiter-layout .cart-panel{border-left:none;border-radius:16px 16px 0 0;border-top:1px solid var(--border);bottom:0;box-shadow:0 -8px 32px #0000001f;flex-shrink:0;left:0;max-height:min(46vh,340px);padding:12px 14px max(14px,env(safe-area-inset-bottom));position:fixed;right:0;width:100%!important;z-index:900}.waiter-main-has-cart{padding-bottom:min(48vh,300px)}.waiter-layout .cart-panel-empty{max-height:min(200px,35vh)}.waiter-layout:has(.cart-panel-empty) .waiter-main-has-cart{padding-bottom:200px}.waiter-layout .cart-list{-webkit-overflow-scrolling:touch;max-height:min(22vh,200px)}.waiter-layout .cart-info h4{max-width:none;white-space:normal}.waiter-layout .cart-row{gap:8px;grid-template-columns:1fr auto auto auto;padding:12px 10px}.waiter-layout .qty-ctrl button{min-height:44px;min-width:44px}.waiter-layout .primary-btn{font-size:16px;min-height:48px}.waiter-layout .remove-btn{align-items:center;display:flex;justify-content:center;min-height:44px;min-width:44px}}@media (max-width:480px){.menu-grid{grid-template-columns:1fr}.food-img{height:120px}}.chef-stats-bar{display:flex;gap:16px}.mini-stat{align-items:center;background:var(--bg);border:1px solid var(--border);border-radius:10px;display:flex;flex-direction:column;padding:6px 14px}.mini-num{color:var(--accent);font-size:20px;font-weight:700}.mini-label{color:var(--text-light);font-size:11px}.chef-actions{display:flex;gap:8px}.act-btn.cook{background:#fef3c7;border:1px solid #fde68a;color:#d97706;flex:1 1}.act-btn.cook:hover{background:#f59e0b;color:#fff}.act-btn.ready-btn{background:#dcfce7;border:1px solid #bbf7d0;color:#16a34a;flex:1 1}.act-btn.ready-btn:hover{background:#22c55e;color:#fff}.section-title{border-top:1px solid var(--border);color:var(--text-light);font-size:15px;font-weight:600;margin-top:8px;padding:16px 24px 12px}.faded{opacity:.5}.clickable-card{cursor:pointer;padding-bottom:40px!important;position:relative;transition:transform .2s,box-shadow .2s}.clickable-card:hover{box-shadow:0 10px 15px -3px #0000001a;transform:translateY(-4px)}.more-items{color:var(--text-light);font-size:13px;font-style:italic;margin-top:4px}.click-to-open{bottom:12px;color:var(--accent);font-size:12px;font-weight:600;left:16px;position:absolute}.detail-view-container{margin:0 auto;max-width:800px;padding:24px}.detail-header{display:flex;flex-direction:column;gap:16px;margin-bottom:24px}.back-btn{align-self:flex-start;background:none;border:none;color:var(--accent);cursor:pointer;font-size:16px;font-weight:600;padding:0}.detail-title-group{align-items:center;display:flex;justify-content:space-between}.table-large{background:#f1f5f9;border-radius:99px;color:#475569;font-weight:700;padding:8px 16px}.detail-content-card{background:#fff;border:1px solid var(--border);border-radius:20px;box-shadow:0 4px 6px -1px #0000000d;overflow:hidden}.detail-status-banner{align-items:center;background:#f8fafc;border-bottom:1px solid var(--border);display:flex;gap:12px;padding:20px 32px}.status-label{color:var(--text-light);font-weight:600}.status-pill-large{border-radius:99px;font-size:14px;font-weight:700;padding:6px 16px;text-transform:uppercase}.status-pill-large.placed{background:#fee2e2;color:#ef4444}.status-pill-large.preparing{background:#fef3c7;color:#d97706}.items-list-large{padding:32px}.items-list-large h3{color:var(--text);font-size:18px;margin-bottom:20px}.item-row-large{align-items:center;border-bottom:1px solid #f1f5f9;display:flex;justify-content:space-between;padding:16px 0}.item-info{display:flex;flex-direction:column}.item-name-lg{color:var(--text);font-size:18px;font-weight:600}.item-price-lg{color:var(--text-light);font-size:14px}.item-qty-lg{align-items:center;background:#eff6ff;border-radius:12px;color:var(--accent);display:flex;font-size:24px;font-weight:800;height:50px;justify-content:center;width:50px}.detail-actions-fixed{border-top:1px solid var(--border)}.huge-btn{border:none;cursor:pointer;font-size:20px;font-weight:800;padding:24px;transition:background .2s;width:100%}.huge-btn.cook-btn{background:#f59e0b;color:#fff}.huge-btn.cook-btn:hover{background:#d97706}.huge-btn.ready-btn-huge{background:#22c55e;color:#fff}.huge-btn.ready-btn-huge:hover{background:#16a34a}.item-row-large.item-finished{background:#f0fdf4;border-radius:12px;margin:0 -12px;padding-left:12px;padding-right:12px;transition:all .3s ease}.item-row-large.item-finished .item-name-lg{color:#16a34a;opacity:.7;text-decoration:line-through}.item-qty-actions{align-items:center;display:flex;gap:16px}.finish-item-btn{background:#22c55e;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:700;padding:8px 16px;transition:background .2s}.token-item-row.finished-row{color:#16a34a;opacity:.6;text-decoration:line-through}.finish-item-btn:hover{background:#16a34a}.status-tab{font-size:12px;padding:6px 14px}.status-tab .count{font-size:10px;padding:1px 6px}.token-card.clickable{cursor:pointer}.token-card.clickable:hover{box-shadow:0 6px 20px #0000000f;transform:translateY(-2px)}.token-card.selected{border-color:var(--accent)!important;box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 20%,#0000)}.token-card.status-billed{border-left:4px solid #059669}.status-tabs-container{background:var(--bg);padding:10px 0}.status-tab.active{box-shadow:0 4px 12px color-mix(in srgb,var(--accent) 30%,#0000)}.invoice-panel{background:#f8fafc;border-left:1px solid var(--border);display:flex;flex-direction:column;flex-shrink:0;overflow-y:auto;padding:24px;width:420px}.receipt-container{background:#fff;border-radius:4px;box-shadow:0 4px 15px #0000001f;box-sizing:border-box;color:#000;font-family:Arial,Helvetica,sans-serif;font-size:13px;font-weight:700;letter-spacing:.1px;line-height:1.35;margin:0 auto;max-width:300px;padding:12px 10px;width:100%}.receipt-header{margin-bottom:6px;text-align:center}.receipt-header h1{font-size:15px;font-weight:900;letter-spacing:.5px;margin:0 0 3px;text-transform:uppercase}.receipt-header p{font-size:10px;line-height:1.3;margin:1px 0}.dashed-line{border:none;border-top:1px dashed #000;margin:6px 0;width:100%}.dashed-line.thin{border-top:1px dotted #999;margin:3px 0}.receipt-bill-info{font-size:11px;margin:5px 0}.receipt-table-no{font-size:13px;font-weight:700;margin:0 0 2px;text-transform:uppercase}.receipt-meta-row{color:#333;display:flex;font-size:10px;justify-content:space-between;margin-top:2px}.receipt-table-header{grid-gap:2px;border-bottom:1px solid #000;display:grid;font-size:10px;font-weight:700;gap:2px;grid-template-columns:18px 1fr 52px 52px;margin-bottom:3px;padding-bottom:3px}.col-amount,.col-price{text-align:right}.receipt-items{display:flex;flex-direction:column;gap:2px}.receipt-item-row{grid-gap:2px;align-items:flex-start;display:grid;font-size:10.5px;gap:2px;grid-template-columns:18px 1fr 52px 52px;word-break:break-word}.item-main{display:contents}.item-qty{font-weight:700;padding-top:1px}.item-name{line-height:1.3;overflow-wrap:break-word;word-break:break-word}.item-amount,.item-price{text-align:right;white-space:nowrap}.item-amount{font-weight:600}.receipt-totals{margin-top:4px}.total-row{display:flex;font-size:11px;justify-content:space-between;margin:2px 0}.total-row.grand-total{font-size:13px;font-weight:700;margin:3px 0}.receipt-payment{font-size:11px;margin-top:6px}.payment-label{color:#444;font-size:10px;margin:0 0 2px;text-transform:uppercase}.payment-row{display:flex;font-size:12px;font-weight:700;justify-content:space-between;margin-bottom:3px}.payment-meta p{color:#555;font-size:9px;margin:1px 0}.receipt-footer{margin-top:8px;text-align:center}.footer-meta{display:flex;font-size:9px;justify-content:space-between;margin-bottom:4px}.cashier-line{font-size:10px;margin:3px 0;text-align:left}.marketing-msg{font-size:10px;font-style:italic;line-height:1.3;margin-top:8px;text-align:center}.terms-wrap{color:#444;font-size:9px;line-height:1.3;margin-top:4px;text-align:left}.inv-actions{display:flex;flex-direction:column;gap:12px;margin-top:20px}.payment-method-selector{display:flex;flex-direction:column;gap:8px;margin-bottom:5px}.payment-method-selector label{color:var(--text-light);font-family:Inter,sans-serif;font-size:13px;font-weight:600}.pay-options{display:flex;gap:8px}.pay-btn{background:#fff;border:1px solid var(--border);border-radius:8px;cursor:pointer;flex:1 1;font-family:Inter,sans-serif;font-size:12px;font-weight:600;padding:10px 4px;transition:all .2s}.pay-btn:hover{background:var(--hover)}.pay-btn.active{background:var(--accent);border-color:var(--accent);box-shadow:0 4px 10px color-mix(in srgb,var(--accent) 25%,#0000);color:#fff}.parcel-mode-content{display:flex;flex-direction:column;gap:20px;padding:24px}.search-bar-wrap{width:100%}.menu-search-input{background:var(--card-bg);border:2px solid var(--border);border-radius:12px;color:var(--text);font-family:inherit;font-size:16px;padding:14px 20px;transition:all .2s;width:100%}.menu-search-input:focus{border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 15%,#0000);outline:none}.parcel-menu-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.parcel-item-card{align-items:center;background:var(--card-bg);border:1px solid var(--border);border-radius:14px;cursor:pointer;display:flex;justify-content:space-between;padding:16px;transition:all .2s}.parcel-item-card:hover{border-color:var(--accent);box-shadow:var(--shadow);transform:translateY(-2px)}.p-item-info h4{font-size:15px;font-weight:600;margin-bottom:4px}.p-item-price{color:var(--accent);font-size:14px;font-weight:700}.p-add-btn{align-items:center;background:var(--bg);border:1px solid var(--border);border-radius:8px;display:flex;font-size:18px;height:32px;justify-content:center;transition:all .2s;width:32px}.parcel-item-card:hover .p-add-btn{background:var(--accent);border-color:var(--accent);color:#fff}.qty-controls{align-items:center;background:var(--bg);border-radius:8px;display:flex;gap:10px;margin-right:15px;padding:4px 8px}.qty-controls button{align-items:center;background:none;border:none;color:var(--text);cursor:pointer;display:flex;font-size:18px;height:24px;justify-content:center;width:24px}.qty-controls span{font-size:14px;font-weight:700;min-width:20px;text-align:center}.print-only{display:none}:root{--thermal-page-width:58mm;--thermal-print-margin:1mm}@page{size:58mm auto;size:var(--thermal-page-width) auto;margin:1mm;margin:var(--thermal-print-margin)}@media print{body *{visibility:hidden}#printable-receipt,#printable-receipt *{visibility:visible}body,html{background:#fff!important}#printable-receipt,body,html{margin:0!important;padding:0!important;width:100%!important}#printable-receipt{background:#fff;border-radius:0!important;box-shadow:none!important;box-sizing:border-box;color:#000;font-family:Arial,Helvetica,Segoe UI,sans-serif;font-size:11pt;font-weight:700;left:0;letter-spacing:.1pt;line-height:1.3;max-width:100%!important;position:fixed;-webkit-print-color-adjust:exact;print-color-adjust:exact;right:0;top:0}#printable-receipt *{color:#000!important;font-family:Arial,Helvetica,sans-serif!important;font-weight:700!important}#printable-receipt .receipt-header{text-align:center}#printable-receipt .receipt-header h1{font-size:13pt;font-weight:900!important;letter-spacing:.3pt;margin:0 0 2pt;text-transform:uppercase}#printable-receipt .receipt-header p{font-size:8.5pt;margin:1pt 0}#printable-receipt .dashed-line{border-top:1.5px dashed #000;margin:4pt 0}#printable-receipt .dashed-line.thin{border-top:1px dashed #000;margin:2pt 0}#printable-receipt .receipt-table-no{font-size:11pt;font-weight:900!important}#printable-receipt .receipt-meta-row{font-size:8.5pt}#printable-receipt .receipt-table-header{border-bottom:1.5px solid #000;font-weight:900!important;padding-bottom:2pt}#printable-receipt .receipt-item-row,#printable-receipt .receipt-table-header{grid-gap:2pt;display:grid;font-size:10pt;gap:2pt;grid-template-columns:8% 1fr 22% 22%;margin-bottom:2pt}#printable-receipt .receipt-item-row{align-items:start}#printable-receipt .item-qty{font-weight:900!important}#printable-receipt .item-name{line-height:1.25;word-break:break-word}#printable-receipt .item-amount,#printable-receipt .item-price{text-align:right;white-space:nowrap}#printable-receipt .item-amount{font-weight:900!important}#printable-receipt .total-row{display:flex;font-size:9.5pt;justify-content:space-between;margin:1.5pt 0}#printable-receipt .total-row.grand-total{border-bottom:1.5px solid #000;border-top:1.5px solid #000;font-size:12pt;font-weight:900!important;margin:3pt 0;padding:2pt 0}#printable-receipt .receipt-payment{font-size:9.5pt;margin-top:4pt}#printable-receipt .payment-label{font-size:8.5pt}#printable-receipt .payment-row{font-size:10.5pt;font-weight:900!important}#printable-receipt .payment-meta p{font-size:8pt}#printable-receipt .receipt-footer{font-size:8.5pt;margin-top:6pt;text-align:center}#printable-receipt .footer-meta{font-size:8pt}#printable-receipt .cashier-line{font-size:9pt}#printable-receipt .marketing-msg{font-size:8.5pt;font-style:italic}#printable-receipt .terms-wrap{font-size:7.5pt}.no-print{display:none!important}.print-only{display:inline!important}.qty-controls{display:none!important}}.cat-tabs{display:flex;flex-wrap:wrap;gap:8px;padding:12px 0}.cat-tab{background:var(--bg);border:1px solid var(--border);border-radius:8px;color:var(--text-light);cursor:pointer;font-size:13px;font-weight:500;padding:6px 16px;transition:all .2s ease}.cat-tab:hover{border-color:#d1d5db;color:var(--text)}.cat-tab.active{background:color-mix(in srgb,var(--accent) 10%,#fff);border-color:color-mix(in srgb,var(--accent) 30%,#0000);color:var(--accent);font-weight:600}.menu-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));padding-bottom:40px}.food-card{background:var(--card-bg);border:1px solid var(--border);border-radius:14px;cursor:pointer;display:flex;flex-direction:column;gap:10px;padding:12px;position:relative;transition:transform .2s ease,box-shadow .2s ease}.food-card:hover{border-color:#d1d5db;box-shadow:0 8px 24px #00000014;transform:translateY(-3px)}.food-img{background:#f3f4f6;border-radius:10px;height:120px;overflow:hidden;position:relative;width:100%}.food-img img{height:100%;object-fit:cover;transition:transform .4s ease;width:100%}.food-card:hover .food-img img{transform:scale(1.05)}.food-badge{background:#ffffffe6;border-radius:12px;color:var(--text-light);font-size:11px;font-weight:500;left:8px;padding:2px 8px;position:absolute;top:8px}.food-info h3{color:var(--text);font-size:14px;font-weight:600;margin-bottom:2px}.food-info p.food-price{color:var(--accent);font-size:16px;font-weight:700}.add-btn{align-items:center;background:var(--bg);border:1px solid var(--border);border-radius:8px;bottom:12px;color:var(--text);display:flex;font-size:16px;height:30px;justify-content:center;position:absolute;right:12px;transition:all .2s ease;width:30px}.food-card:hover .add-btn{background:var(--accent);border-color:var(--accent);color:#fff}.parcel-token-result{align-items:center;display:flex;flex-direction:column;padding:20px}@media (max-width:1024px){.invoice-panel{border-left:none;border-top:1px solid var(--border);width:100%}}.admin-table-wrap{overflow-x:auto;padding:16px 24px}.admin-table{border-collapse:initial;border-spacing:0 6px;width:100%}.admin-table thead th{color:var(--text-light);font-size:12px;font-weight:500;letter-spacing:.5px;padding:10px 14px;text-align:left;text-transform:uppercase}.admin-table tbody tr{background:var(--card-bg);border:1px solid var(--border);transition:background .15s ease}.admin-table tbody tr:hover{background:var(--hover)}.admin-table tbody td{color:var(--text);font-size:14px;padding:10px 14px;vertical-align:middle}.admin-table tbody td:first-child{border-radius:10px 0 0 10px}.admin-table tbody td:last-child{border-radius:0 10px 10px 0}.tbl-img{background:#f3f4f6;border-radius:8px;height:44px;overflow:hidden;width:44px}.tbl-img img{height:100%;object-fit:cover;width:100%}.td-name{font-weight:600}.cat-tag{background:color-mix(in srgb,var(--accent) 10%,#fff);border-radius:12px;display:inline-block;font-size:11px;font-weight:500;padding:3px 10px}.cat-tag,.td-price{color:var(--accent)}.td-price{font-weight:700}.tbl-btn{border-radius:6px;font-size:12px;font-weight:600;margin-right:6px;padding:5px 12px;transition:all .15s ease}.tbl-btn.edit{background:#dbeafe;border:1px solid #bfdbfe;color:#2563eb}.tbl-btn.edit:hover{background:#2563eb;color:#fff}.tbl-btn.delete{background:#fee2e2;border:1px solid #fecaca;color:#dc2626}.tbl-btn.delete:hover{background:#dc2626;color:#fff}.form-wrap{padding:16px 24px}.admin-form{background:var(--card-bg);border:1px solid var(--border);border-radius:14px;display:flex;flex-direction:column;gap:16px;max-width:700px;padding:24px}.form-title{color:var(--text);font-size:16px;font-weight:700}.form-row{display:flex;gap:16px}.form-row .input-group{flex:1 1}.input-group{display:flex;flex-direction:column;gap:6px}.input-group label{color:var(--text-light);font-size:13px;font-weight:500}.input-group input,.input-group select{background:var(--bg);border:1px solid var(--border);border-radius:8px;color:var(--text);font-family:inherit;font-size:14px;padding:10px 14px;transition:all .2s ease}.input-group input:focus,.input-group select:focus{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 15%,#0000);outline:none}.file-input,.input-group select{cursor:pointer}.file-input::-webkit-file-upload-button{background:var(--accent);border:none;border-radius:5px;color:#fff;cursor:pointer;font-family:inherit;font-size:12px;font-weight:600;margin-right:8px;padding:5px 12px}.file-input::file-selector-button{background:var(--accent);border:none;border-radius:5px;color:#fff;cursor:pointer;font-family:inherit;font-size:12px;font-weight:600;margin-right:8px;padding:5px 12px}.img-preview{border:1px solid var(--border);border-radius:10px;flex-shrink:0;height:100px;overflow:hidden;width:100px}.img-preview img{height:100%;object-fit:cover;width:100%}.purchase-preview{background:color-mix(in srgb,var(--accent) 8%,#fff);border:1px solid color-mix(in srgb,var(--accent) 20%,#0000);border-radius:8px;color:var(--accent);font-size:14px;padding:10px 14px}.purchase-preview strong{font-size:18px}.purchase-bar{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.purchase-bar h3{color:var(--text);font-size:16px;font-weight:700}.grand-total-tag{background:var(--accent);border-radius:8px;color:#fff;font-size:14px;font-weight:700;padding:5px 14px}.notes-col{color:var(--text-light);font-size:12px;font-style:italic}@media (max-width:1024px){.form-row{flex-direction:column}}.stat-checkbox{align-items:center;background:var(--bg);border:1px solid var(--border);border-radius:8px;color:var(--text);cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:10px;padding:8px 12px;transition:all .2s ease}.stat-checkbox:hover{background:color-mix(in srgb,var(--accent) 5%,var(--card-bg));border-color:var(--accent)}.stat-checkbox input[type=checkbox]{accent-color:var(--accent);cursor:pointer;height:18px;width:18px}.status-tabs-container{display:flex;gap:12px;overflow-x:auto;scrollbar-width:none}.status-tab{background:var(--card-bg);border:1px solid var(--border);border-radius:20px;color:var(--text-light);cursor:pointer;font-size:13px;font-weight:600;gap:8px;padding:8px 16px;transition:all .2s ease;white-space:nowrap}.status-tab,.status-tab .count{align-items:center;display:flex}.status-tab .count{background:#0000000d;border-radius:10px;font-size:11px;justify-content:center;padding:2px 8px}.status-tab:hover{border-color:var(--accent);color:var(--text)}.status-tab.active{background:var(--accent);border-color:var(--accent);color:#fff}.status-tab.active .count{background:#fff3;color:#fff}.sales-report-wrap{display:flex;flex-direction:column;gap:24px;padding:24px}.report-header-info{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between}.today-badge{background:#f1f5f9;border-radius:99px;color:#475569;font-size:14px;font-weight:700}.refresh-report-btn,.today-badge{border:1px solid var(--border);padding:8px 16px}.refresh-report-btn{background:var(--card-bg);border-radius:8px;cursor:pointer;font-weight:600;transition:all .2s}.refresh-report-btn:hover{background:var(--hover);border-color:var(--accent)}.sales-stats-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.stat-card{align-items:center;background:var(--card-bg);border:1px solid var(--border);border-radius:16px;display:flex;gap:20px;padding:24px;transition:transform .2s}.stat-card:hover{transform:translateY(-3px)}.stat-icon{align-items:center;background:#f8fafc;border-radius:14px;display:flex;font-size:32px;height:60px;justify-content:center;width:60px}.stat-info h3{color:var(--text-light);font-size:13px;font-weight:600;margin-bottom:4px}.stat-val{color:var(--text);font-size:24px;font-weight:800;margin-bottom:2px}.stat-sub{color:#16a34a;font-size:12px;font-weight:600}.report-sections-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:1.5fr 1fr}.report-card{background:var(--card-bg);border:1px solid var(--border);border-radius:16px;overflow:hidden}.report-card-header{background:#f8fafc;border-bottom:1px solid var(--border);padding:16px 20px}.report-card-header h3{color:var(--text);font-size:15px;font-weight:700}.profit-analysis{display:flex;flex-direction:column;gap:12px;padding:20px}.profit-row{color:var(--text-light);display:flex;font-size:14px;justify-content:space-between}.profit-row.cost{color:#dc2626}.profit-row.final{border-top:1px dashed var(--border);color:var(--text);font-size:18px;padding-top:8px}.profit-row.final strong{font-size:20px}.profit-row.plus strong{color:#16a34a}.profit-row.minus strong{color:#dc2626}.hint-text{color:#94a3b8;font-size:11px;font-style:italic;margin-top:10px}@media (max-width:1024px){.report-sections-grid{grid-template-columns:1fr}}@media (max-width:768px){.sales-stats-grid{grid-template-columns:1fr}.status-tabs-container{padding:12px}.admin-form{max-width:100%;padding:16px}.form-row{flex-direction:column;gap:12px}.stat-card{gap:12px;padding:16px}.stat-icon{font-size:24px;height:48px;width:48px}.stat-val{font-size:18px}.report-header-info{align-items:flex-start;flex-direction:column}.today-badge{text-align:center;width:100%}.refresh-report-btn{width:100%}}.app-layout{display:flex;height:100vh;width:100%}.main-content{display:flex;flex:1 1;flex-direction:column;overflow-y:auto;position:relative}.main-content::-webkit-scrollbar{width:6px}.main-content::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}@media (max-width:768px){.app-layout{flex-direction:column;min-height:100vh;min-height:100dvh;overflow:hidden}.main-content{-webkit-overflow-scrolling:touch;flex:1 1;min-height:0;overflow-y:auto}.app-layout.waiter-layout .main-content{height:auto!important}}
/*# sourceMappingURL=main.25ad97f9.css.map*/