:root{--primary-color:#ff6b6b;--secondary-color:#feca57;--bg-light:#f7f9fa;--bg-dark:#1e2124;--card-light:#fff;--card-dark:#282b30;--text-light:#1e2124;--text-dark:#f7f9fa;--text-muted-light:#7c7c7c;--text-muted-dark:#a0a0a0;--accent:#54a0ff;--font-family:"Inter", system-ui, -apple-system, sans-serif;--radius:16px;--radius-sm:8px;--shadow:0 8px 30px #00000014;--shadow-dark:0 8px 30px #0006}@media (prefers-color-scheme:dark){:root{--bg-color:var(--bg-dark);--card-bg:var(--card-dark);--text-color:var(--text-dark);--text-muted:var(--text-muted-dark);--app-shadow:var(--shadow-dark)}}@media (prefers-color-scheme:light){:root{--bg-color:var(--bg-light);--card-bg:var(--card-light);--text-color:var(--text-light);--text-muted:var(--text-muted-light);--app-shadow:var(--shadow)}}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);background-color:var(--bg-color);color:var(--text-color);-webkit-font-smoothing:antialiased;padding-bottom:80px}h1,h2,h3,h4{margin-bottom:.5rem;font-weight:700}h1{font-size:2rem}h2{font-size:1.5rem}p{color:var(--text-muted);line-height:1.5}.container{max-width:600px;margin:0 auto;padding:1rem}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.btn{background:var(--primary-color);color:#fff;border-radius:var(--radius-sm);cursor:pointer;border:none;padding:.8rem 1.5rem;font-size:1rem;font-weight:600;transition:transform .2s,background .2s}.btn:hover{filter:brightness(1.1);transform:translateY(-2px)}.btn:active{transform:translateY(0)}.header{background:var(--bg-color);z-index:1000;padding:1rem 0;display:flex;position:sticky;top:0;box-shadow:0 4px 24px #00000014}.search-bar-wrapper{width:100%;position:relative}.search-input{border-radius:var(--radius-sm);background:var(--bg-color);width:100%;font-family:var(--font-family);color:var(--text-color);border:4px solid #0000;padding:.8rem 1rem .8rem 2.8rem;font-size:1rem;transition:all .3s cubic-bezier(.175,.885,.32,1.275);box-shadow:inset 0 2px 5px #0000000d}@media (prefers-color-scheme:light){.search-input{background:#fff;border:1px solid #0000000d}}@media (prefers-color-scheme:dark){.search-input{background:#23272a;border-color:#ffffff0d}}.search-input:focus{outline:none;transform:translateY(-1px);box-shadow:0 8px 24px #ff6b6b33;border-color:var(--primary-color)!important}.search-icon{opacity:.5;font-size:1rem;position:absolute;top:50%;left:1rem;transform:translateY(-50%)}.clear-search{width:24px;height:24px;color:var(--text-color);cursor:pointer;background:#0000001a;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:1.2rem;line-height:1;display:flex;position:absolute;top:50%;right:.8rem;transform:translateY(-50%)}.table-badge{background:var(--card-bg);box-shadow:var(--app-shadow);border-radius:20px;align-items:center;gap:.5rem;padding:.4rem .8rem;font-size:.85rem;font-weight:700;display:flex}.subgroup-header{border-radius:var(--radius);margin:2.5rem 0 1.2rem;padding:.5rem;transition:background .2s}.subgroup-icon-wrapper{width:60px;height:60px;box-shadow:var(--app-shadow);border:3px solid var(--primary-color);background:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex;overflow:hidden}.subgroup-icon{object-fit:cover;width:100%;height:100%}.subgroup-title{color:var(--text-color);letter-spacing:-.02em;margin:0;font-size:1.4rem;font-weight:800}.menu-section{margin-bottom:2rem}.category-slider{scrollbar-width:none;gap:1.5rem;padding:1.5rem .5rem;display:flex;overflow-x:auto}.category-slider::-webkit-scrollbar{display:none}.category-tab{background:var(--card-bg);color:var(--text-color);white-space:nowrap;box-shadow:var(--app-shadow);border:4px solid #0000;border-radius:20px;justify-content:center;align-items:center;padding:.6rem 1.2rem;font-weight:600;transition:all .3s;display:flex}.category-tab.active{background:var(--card-bg);border-color:var(--primary-color);transform:scale(1.05)}.logo-tab{border-radius:50%;flex-shrink:0;width:80px;height:80px;padding:0;overflow:hidden}.category-logo-img{object-fit:cover;width:100%;height:100%}.product-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1rem;margin-top:1rem;display:grid}.product-card{background:var(--card-bg);border-radius:var(--radius);box-shadow:var(--app-shadow);cursor:pointer;transition:transform .3s;position:relative;overflow:hidden}.product-card:active{transform:scale(.98)}.product-detail-modal{-webkit-overflow-scrolling:touch;max-width:500px;max-height:85vh;position:relative;overflow-y:auto;padding:0 0 5rem!important}.modal-top-actions{z-index:10;position:absolute;top:.5rem;right:1rem}.detail-img{object-fit:cover;background:#f0f0f0;width:100%;height:250px}.detail-content{padding:1.5rem}.detail-description{color:var(--text-color);opacity:.8;max-height:200px;font-size:.95rem;line-height:1.6;overflow-y:auto}.detail-footer{border-top:1px solid #0000000d;margin-top:.5rem;padding-top:1rem}.detail-price{color:var(--primary-color);font-size:1.4rem;font-weight:800}.secondary-slider{scrollbar-width:none;gap:1.2rem;margin-top:0;margin-bottom:.5rem;padding:1rem .5rem 1.5rem;display:flex;overflow-x:auto}.secondary-slider::-webkit-scrollbar{display:none}.sub-tab{color:var(--text-color);white-space:nowrap;background:#00000008;border:1px solid #0000001a;border-radius:20px;padding:.4rem 1rem;font-size:.85rem;font-weight:500;transition:all .2s}.sub-tab-item{cursor:pointer;background:0 0;border:none;flex-direction:column;flex-shrink:0;align-items:center;gap:.6rem;padding:0;transition:transform .2s;display:flex!important}.sub-tab-icon-wrapper{background:var(--card-bg);width:65px;height:65px;box-shadow:var(--app-shadow);border:4px solid #0000;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:all .3s cubic-bezier(.175,.885,.32,1.275);display:flex;overflow:hidden}.sub-tab-item.active .sub-tab-icon-wrapper{border-color:var(--primary-color);z-index:5;transform:scale(1.15);box-shadow:0 10px 25px #ff6b6b4d}.sub-tab-img{object-fit:cover;width:100%;height:100%}.sub-tab-label{color:var(--text-color);text-align:center;white-space:nowrap;text-overflow:ellipsis;opacity:.6;max-width:80px;font-size:.8rem;font-weight:700;transition:all .2s;overflow:hidden}.sub-tab-item.active .sub-tab-label{opacity:1;color:var(--primary-color);transform:translateY(2px)}.sub-tab.active{background:var(--text-color);color:var(--card-bg);box-shadow:none}@media (prefers-color-scheme:dark){.sub-tab{background:#ffffff0d;border-color:#ffffff1a}}.product-img{object-fit:cover;background:#eaeaea;width:100%;height:140px}.product-info{padding:.8rem}.price{color:var(--primary-color);margin-top:.4rem;font-weight:700}.add-btn{background:var(--primary-color);color:#fff;cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:1.2rem;display:flex;position:absolute;bottom:.8rem;right:.8rem;box-shadow:0 4px 10px #ff6b6b66}.floating-cart{background:var(--primary-color);color:#fff;cursor:pointer;z-index:100;border-radius:30px;justify-content:space-between;align-items:center;width:90%;max-width:400px;padding:1rem 2rem;font-weight:700;animation:.5s cubic-bezier(.175,.885,.32,1.275) slideUp;display:flex;position:fixed;bottom:2rem;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #ff6b6b66}@keyframes slideUp{0%{opacity:0;bottom:-100px}to{opacity:1;bottom:2rem}}.cart-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:200;background:#0006;justify-content:center;align-items:flex-end;width:100%;height:100vh;animation:.3s ease-out fadeIn;display:flex;position:fixed;top:0;left:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.cart-modal{background:var(--bg-color);-webkit-overflow-scrolling:touch;border-radius:24px 24px 0 0;width:100%;max-width:600px;max-height:85vh;padding:1.5rem 1.5rem 5rem;animation:.4s cubic-bezier(.175,.885,.32,1) slideUpModal;overflow-y:auto;box-shadow:0 -10px 40px #00000026}@keyframes slideUpModal{0%{transform:translateY(100%)}to{transform:translateY(0)}}.cart-header{border-bottom:1px solid var(--card-bg);margin-bottom:1.5rem;padding-bottom:1rem}.close-btn{color:var(--text-color);cursor:pointer;background:0 0;border:none;font-size:2rem;line-height:1}.cart-items{margin-bottom:3rem}.cart-item{background:var(--card-bg);border-radius:var(--radius);box-shadow:var(--app-shadow);padding:1rem}.btn-icon{background:var(--bg-color);color:var(--text-color);border:1px solid var(--text-muted);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;font-size:1.2rem;transition:all .2s;display:flex}.btn-icon:hover{background:var(--text-muted);color:#fff}.btn-remove{cursor:pointer;background:0 0;border:none;margin-left:.5rem;font-size:1.2rem;transition:transform .2s}.btn-remove:hover{transform:scale(1.1)}.item-note-input{margin-top:.5rem}.note-field{border-radius:var(--radius-sm);background:var(--bg-color);width:100%;color:var(--text-color);font-size:.85rem;font-family:var(--font-family);border:1px solid #0000001a;padding:.6rem;transition:border-color .2s}.note-field:focus{border-color:var(--primary-color);outline:none}@media (prefers-color-scheme:dark){.note-field{border-color:#ffffff1a}}.w-full{width:100%}.main-nav{background:var(--card-bg);border-radius:var(--radius);box-shadow:var(--app-shadow);margin-bottom:1rem;padding:.5rem;display:flex}.nav-btn{color:var(--text-muted);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none;flex:1;justify-content:center;align-items:center;gap:.5rem;padding:.8rem;font-weight:600;transition:all .2s;display:flex}.nav-btn.active{background:var(--bg-color);color:var(--text-color);box-shadow:0 4px 10px #0000000d}.badge{background:var(--primary-color);color:#fff;border-radius:12px;padding:.2rem .5rem;font-size:.75rem}.status-badge{text-transform:uppercase;border-radius:6px;padding:.3rem .6rem;font-size:.75rem;font-weight:700}.status-badge.in-progress{color:#fff;background:#ff9800}.status-badge.delivered{color:#fff;background:#2e7d32}.status-pill{text-transform:uppercase;letter-spacing:.5px;border-radius:20px;padding:.2rem .7rem;font-size:.7rem;font-weight:800}.status-pill.preparing{color:#ffa000;background:#fff8e1;border:1px solid #ffd54f}.status-pill.ready{color:#2e7d32;background:#e8f5e9;border:1px solid #81c784;animation:2s infinite pulse}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.status-pill.delivered{color:#1565c0;background:#e3f2fd}.status-pill.pending{color:#9e9e9e;background:#f5f5f5}.track-label{color:var(--text-color);font-size:.9rem;font-weight:500}.menu-sections{gap:2rem}.section-title{display:none}.category-banner{border-radius:var(--radius);width:100%;height:140px;box-shadow:var(--app-shadow);margin:2rem 0 1rem;position:relative;overflow:hidden}.category-banner-img{object-fit:cover;width:100%;height:100%;transition:transform .6s cubic-bezier(.25,1,.5,1)}.category-banner:hover .category-banner-img{transform:scale(1.08)}.category-banner-overlay{background:linear-gradient(#0000 0%,#0003 50%,#000000b3 100%);align-items:flex-end;width:100%;height:100%;padding:1.2rem;display:flex;position:absolute;top:0;left:0}.category-banner-title{text-shadow:0 4px 10px #00000080;letter-spacing:-.02em;margin:0;font-size:1.6rem;font-weight:800;color:#fff!important}.category-section{margin-bottom:2rem}.orders-view{padding:1rem 0;animation:.3s fadeIn}.invoice-header{text-align:left;margin-bottom:1.5rem}.invoice-card{background:var(--card-bg);border-radius:var(--radius);box-shadow:var(--app-shadow);border:1px solid #0000000d;padding:1.5rem}.session-fallback-box{border:1px dashed var(--primary-color);border-radius:var(--radius-sm);text-align:left;background:#ff6b6b0d;margin-top:1.5rem;padding:1.2rem}.invoice-divider{border-top:2px dashed #0000001a;margin:1.5rem 0}.bill-total{font-size:1.1rem;font-weight:700}.total-amount{color:var(--primary-color);font-size:1.4rem}.empty-state{text-align:center;background:var(--card-bg);border-radius:var(--radius);box-shadow:var(--app-shadow);padding:3rem 1rem}.order-card{background:var(--card-bg);border-radius:var(--radius);box-shadow:var(--app-shadow);border-left:4px solid var(--primary-color);padding:1rem}.status-badge{border-radius:12px;padding:.3rem .6rem;font-size:.8rem;font-weight:600}.status-badge.received{color:#f39c12;background:#feca5733}.status-badge.preparing{color:#2980b9;background:#54a0ff33}.status-badge.served{color:#27ae60;background:#2ecc7133}
