:root{--heading-font: "Poppins", sans-serif;--body-font: "Lato", sans-serif;--primary-gold: #EAB308;--dark-bg: #121212;--dark-card: #1e1e1e;--soft-white: #f5f5f5;--brand-green: #4CAF50;--brand-red: #ef4444}body{font-family:var(--body-font);background-color:var(--dark-bg);color:var(--soft-white);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.App{text-align:center;max-width:900px;margin:0 auto;padding:20px}h1,h2,h3{font-family:var(--heading-font);color:var(--soft-white)}.title-container{display:flex;flex-direction:column;align-items:center;gap:5px;margin-top:40px}.banner-logo{height:50px;width:auto;margin-bottom:10px}.banner h1{font-size:3rem;font-weight:600;letter-spacing:1px;margin:0;color:var(--primary-gold)}.tagline{font-size:1.1rem;color:#888;letter-spacing:1px;margin-top:10px;margin-bottom:40px}.category-filters{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:15px;margin-bottom:30px}.category-filters::-webkit-scrollbar{display:none}.category-list{display:flex;flex-wrap:nowrap;gap:15px;list-style:none;padding:0;margin:0}.category-list button{display:block;padding:10px 20px;background-color:var(--dark-card);color:var(--soft-white);text-decoration:none;border-radius:20px;border:1px solid #333;font-family:var(--body-font);font-size:.9rem;font-weight:600;transition:all .2s ease;white-space:nowrap;cursor:pointer}.category-list button:hover{background-color:#2a2a2a;border-color:var(--primary-gold)}.category-list button.active{background-color:var(--primary-gold);color:#000;border-color:var(--primary-gold)}.menu-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding:0 10px}.menu-header h2{font-size:1.8rem;color:var(--soft-white);margin:0;text-align:left}.layout-switcher{display:flex;gap:5px;background-color:var(--dark-card);padding:5px;border-radius:10px;border:1px solid #333}.layout-switcher button{background-color:transparent;border:none;color:#777;padding:5px 10px;cursor:pointer;border-radius:7px;transition:all .2s ease;font-size:1rem}.layout-switcher button:hover{color:var(--soft-white)}.layout-switcher button.active{background-color:#333;color:var(--primary-gold)}.dishes{display:grid;gap:20px}.dishes.grid-view{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.dishes.list-view{grid-template-columns:1fr}.dish-card{background:var(--dark-card);border:1px solid #333;border-radius:15px;text-align:left;box-shadow:0 4px 15px #0003;transition:transform .3s ease,box-shadow .3s ease;overflow:hidden;display:flex;flex-direction:column}.dish-card:hover{transform:translateY(-5px);box-shadow:0 8px 25px #0000004d,0 0 0 2px var(--primary-gold)}.dish-card-image{width:100%;padding-top:75%;position:relative;overflow:hidden;background-color:#2a2a2a}.dish-card-image img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover}.top-seller-tag{position:absolute;top:10px;left:10px;background-color:var(--brand-red);color:#fff;padding:4px 12px;border-radius:8px;font-size:.8rem;font-weight:700;z-index:2}.dish-card-body{padding:15px;display:flex;flex-direction:column;flex-grow:1}.dish-card-title{font-family:var(--heading-font);font-size:1.2rem;font-weight:600;margin:0 0 5px;color:var(--soft-white)}.dish-description{font-size:.9rem;color:#aaa;margin:0 0 15px;flex-grow:1}.dish-card-footer{display:flex;justify-content:space-between;align-items:center;margin-top:auto}.price-and-tag-container{display:flex;align-items:center;gap:10px}.dish-card-price{display:flex;align-items:baseline;gap:8px}.dish-card-price .current-price{font-size:1.1rem;font-weight:700;color:var(--primary-gold)}.add-to-cart-btn{background-color:var(--primary-gold);color:#000;font-weight:700;padding:10px 20px;border-radius:10px;border:none;cursor:pointer;transition:background-color .2s ease;font-family:var(--body-font);font-size:.9rem}.add-to-cart-btn:hover{background-color:#fbbd23}.dishes.list-view .dish-card{flex-direction:row;align-items:stretch}.dishes.list-view .dish-card-image{width:150px;height:auto;padding-top:0;flex-shrink:0}.dishes.list-view .dish-card-body{padding:20px;display:flex;flex-direction:row;align-items:center;width:100%}.dishes.list-view .dish-card-title{margin:0}.dishes.list-view .dish-description{display:none}.dishes.list-view .dish-card-footer{margin-left:auto;flex-direction:row;gap:20px}.dishes.list-view .top-seller-tag{position:static;padding:3px 8px;font-size:.75rem;border-radius:6px;order:2;margin:0}.cart{margin-top:60px}.cart li{list-style-type:none;display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;padding-bottom:10px;border-bottom:1px solid #333}.remove-btn{background-color:var(--brand-red);color:#fff;padding:5px 10px;margin-left:15px;font-size:12px;border-radius:5px}@keyframes slideDown{0%{transform:translate(-50%,-100px);opacity:0}to{transform:translate(-50%);opacity:1}}.cart-notification{position:fixed;top:20px;left:50%;transform:translate(-50%);background-color:var(--brand-green);color:#fff;padding:10px 20px;border-radius:8px;box-shadow:0 4px 15px #0003;font-family:var(--body-font);font-weight:700;z-index:1000;animation:slideDown .5s ease-out forwards}.content{padding-bottom:100px;min-height:calc(100vh - 150px)}.bottom-nav{position:fixed;bottom:0;left:0;right:0;height:70px;background-color:var(--dark-card);box-shadow:0 -2px 10px #0000004d;display:flex;justify-content:space-around;align-items:center;z-index:1000}.nav-link{display:flex;flex-direction:column;align-items:center;justify-content:center;color:#777;text-decoration:none;transition:color .2s ease,transform .2s ease;position:relative}.nav-link.active{color:var(--primary-gold)}.nav-link.active svg{transform:scale(1.1)}.nav-link.active span{font-weight:700}.nav-link span{font-size:12px;margin-top:4px}.cart-badge{position:absolute;top:-5px;right:-10px;background-color:var(--brand-red);color:#fff;width:20px;height:20px;border-radius:50%;display:flex;justify-content:center;align-items:center;font-size:12px;font-weight:700}.cart-page{text-align:left}.cart-items-detailed{margin-bottom:30px}.cart-item-detailed{display:flex;align-items:center;margin-bottom:20px;border-bottom:1px solid #333;padding-bottom:20px}.cart-item-image{width:80px;height:80px;object-fit:cover;border-radius:10px;margin-right:20px}.cart-item-info{flex-grow:1}.cart-item-info h3{margin:0 0 5px}.cart-item-info p{margin:0;color:#aaa}.cart-summary-detailed{text-align:center}.empty-cart-container{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:50px 20px;color:#888}.empty-cart-container svg{margin-bottom:20px}.empty-cart-container h3{color:var(--soft-white)}.empty-cart-container p{margin-bottom:30px;color:#888}.empty-cart-btn{background-color:var(--primary-gold);color:#000;padding:12px 25px;border-radius:10px;text-decoration:none;font-weight:700;transition:transform .2s ease}.payment-method{margin:30px 0;text-align:center}.checkout-btn{width:100%;max-width:300px}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000bf;display:flex;justify-content:center;align-items:center;z-index:2000}.modal-content{background-color:var(--dark-card);padding:30px;border-radius:15px;width:90%;max-width:500px;text-align:center;border:1px solid #444}.modal-content h3{font-family:var(--heading-font);margin:0 0 25px}.address-form{display:flex;flex-direction:column;gap:15px}.address-input{width:100%;padding:12px;background-color:#333;border:1px solid #555;color:var(--soft-white);border-radius:8px;font-size:1rem;font-family:var(--body-font);box-sizing:border-box}.modal-actions{display:flex;justify-content:center;gap:15px;margin-top:25px}.modal-btn{padding:12px 20px;border-radius:10px;font-weight:700}.confirm-btn{background-color:var(--brand-green);color:#fff}.cancel-btn{background-color:#555;color:#fff}.total-details{border-top:1px solid #333;border-bottom:1px solid #333;padding:20px 0;margin:20px 0}.total-details p,.total-details h3{display:flex;justify-content:space-between;margin:10px 0}.min-order-warning{color:var(--brand-red);font-weight:700;margin-top:20px;text-align:center}.checkout-btn:disabled{background-color:#555;color:#888;cursor:not-allowed;opacity:.7}.location-pin-container{position:absolute;top:20px;right:20px;z-index:1001}.location-pin-icon{height:40px;width:auto;cursor:pointer;transition:transform .2s ease}.location-modal .location-info{text-align:left;margin:20px 0}.confirmation-page{text-align:center;padding:60px 20px;color:var(--soft-white);min-height:50vh;display:flex;flex-direction:column;justify-content:center;align-items:center;position:relative}.confirmation-page h2{font-size:2rem;margin-bottom:20px;color:var(--soft-white)}.confirmation-page a{background-color:var(--primary-gold);color:#000;padding:12px 20px;border-radius:10px;text-decoration:none;font-weight:700;margin-top:20px}.item-note-input{width:90%;padding:8px;margin-top:8px;background-color:#333;border:1px solid #555;color:var(--soft-white);border-radius:6px;font-size:.85rem}.item-note-display{font-size:.85rem;color:#aaa;margin-left:10px}.order-tracker{width:100%;max-width:450px;margin:30px auto;padding:20px;background-color:var(--dark-card);border-radius:15px;border:1px solid #333}.tracker-stages{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:15px;position:relative}.tracker-stages:before{content:"";position:absolute;top:12px;left:12px;right:12px;height:4px;background-color:#333;z-index:1;transform:translateY(-50%)}.tracker-progress{position:absolute;top:12px;transform:translateY(-50%);height:4px;left:12px;width:calc(100% - 24px);background-color:var(--primary-gold);transform-origin:left;transition:transform .8s cubic-bezier(.65,0,.35,1);z-index:2;transform:scaleX(0)}.tracker-pulse{position:absolute;top:12px;transform:translateY(-50%);height:4px;z-index:3;display:none;overflow:hidden}.tracker-pulse-inner{width:100%;height:100%;background:linear-gradient(90deg,transparent,var(--primary-gold),transparent);background-size:200% 100%;animation:shimmer 2.5s linear infinite}@keyframes shimmer{0%{background-position:150% 0}to{background-position:-150% 0}}.tracker-stage{display:flex;flex-direction:column;align-items:center;position:relative;z-index:4}.stage-dot{width:24px;height:24px;border-radius:50%;background-color:var(--dark-card);border:4px solid #555;transition:border-color .5s ease,box-shadow .3s ease}.stage-dot.active{border-color:var(--primary-gold);box-shadow:0 0 10px var(--primary-gold),0 0 20px #eab30880}.stage-label{font-size:12px;color:#888;margin-top:8px;transition:color .5s ease;font-weight:600;text-align:center}.stage-dot.active+.stage-label{color:var(--soft-white);font-weight:700}.current-status-text{margin-top:25px;font-size:1.1rem;font-weight:700;color:var(--primary-gold);min-height:30px;transition:opacity .5s}.empty-tracker-container{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:50px 20px;color:#888;margin-top:40px}.clear-order-btn{position:absolute;top:20px;right:20px;background-color:var(--brand-red);color:#fff;padding:8px 12px;font-size:12px;border-radius:8px;border:none;cursor:pointer;z-index:10;font-weight:700}.admin-tabs{display:flex;gap:10px;margin-bottom:30px;border-bottom:1px solid #333}.admin-tabs button{padding:10px 20px;background:none;border:none;color:#888;font-weight:600;font-size:1rem;cursor:pointer;border-bottom:3px solid transparent}.admin-tabs button.active{color:var(--primary-gold);border-bottom-color:var(--primary-gold)}.inventory-list{display:flex;flex-direction:column;gap:15px}.inventory-item{display:flex;justify-content:space-between;align-items:center;background-color:var(--dark-card);padding:15px;border-radius:8px;border:1px solid #333}.stock-toggle-btn{padding:8px 15px;border-radius:8px;border:none;font-weight:700;cursor:pointer}.stock-toggle-btn.in-stock{background-color:var(--brand-green);color:#fff}.stock-toggle-btn.out-of-stock{background-color:var(--brand-red);color:#fff}.dish-card.out-of-stock{opacity:.5;pointer-events:none}.dish-card.out-of-stock .add-to-cart-btn{background-color:#555;cursor:not-allowed}.stock-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background-color:#000000b3;color:#fff;display:flex;justify-content:center;align-items:center;font-size:1.5rem;font-weight:700;font-family:var(--heading-font);z-index:3}@media (max-width: 768px){.dishes.grid-view{grid-template-columns:repeat(2,1fr);gap:20px}.dishes.grid-view .dish-card-image{padding-top:100%}.dishes.grid-view .dish-card-body{padding:12px}.dishes.grid-view .dish-card-title{font-size:.95rem}.dishes.grid-view .dish-description{font-size:.8rem;margin-bottom:12px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;min-height:2.5em}.dishes.grid-view .dish-card-price .current-price{font-size:1rem}.dishes.grid-view .add-to-cart-btn{padding:8px 12px;font-size:.8rem}.dishes.grid-view .dish-card-footer{justify-content:space-between}.dishes.grid-view .price-and-tag-container{margin-right:8px}.dishes.list-view .dish-card{padding:8px;align-items:center}.dishes.list-view .dish-card-image{width:75px;height:75px;flex-shrink:0}.dishes.list-view .dish-card-body{padding:0 10px;flex-direction:row;align-items:center;flex-grow:1;overflow:hidden}.dishes.list-view .dish-card-title{font-size:.9rem;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dishes.list-view .dish-description{display:none}.dishes.list-view .dish-card-footer{flex-direction:column;align-items:flex-end;margin-left:auto;gap:5px;flex-shrink:0}.price-and-tag-container{order:1}.dishes.list-view .add-to-cart-btn{order:2;padding:8px 10px;font-size:.8rem;white-space:nowrap}.dishes.list-view .dish-card-price .current-price{font-size:.9rem}.dishes.list-view .top-seller-tag{position:static;order:2;margin:0;padding:1px 5px;font-size:.6rem;border-radius:4px}}.admin-container{padding:20px;text-align:left;max-width:800px;margin:40px auto;color:var(--soft-white)}.admin-container h1{color:var(--primary-gold)}.orders-list{display:flex;flex-direction:column;gap:20px}.order-card-admin{background-color:var(--dark-card);border:1px solid #333;border-radius:10px;padding:20px}.order-header-admin{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #444;padding-bottom:10px;margin-bottom:15px}.order-header-admin h3{margin:0}.status-tag{padding:5px 12px;border-radius:15px;font-size:.8rem;font-weight:700;color:#000;text-transform:uppercase}.status-tag.confirmed{background-color:#3b82f6;color:#fff}.status-tag.preparing{background-color:#f59e0b}.status-tag.on-the-way{background-color:#8b5cf6;color:#fff}.status-tag.delivered{background-color:#555;color:#aaa}.order-body-admin ul{list-style-type:circle;padding-left:20px;margin-bottom:15px}.order-actions-admin{margin-top:20px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}.order-actions-admin p{margin:0;font-weight:600}.order-actions-admin button{background-color:#333;color:var(--soft-white);border:1px solid #555;padding:8px 15px;border-radius:8px;cursor:pointer;font-weight:700;transition:background-color .2s}.order-actions-admin button:hover{background-color:var(--primary-gold);color:#000;border-color:var(--primary-gold)}.deliveries-count{font-weight:700;color:var(--primary-gold)}.login-container{display:flex;justify-content:center;align-items:center;height:80vh;color:var(--soft-white)}.login-box{background-color:var(--dark-card);padding:40px;border-radius:15px;border:1px solid #333;text-align:center;width:90%;max-width:350px}.login-box h2{margin-top:0;margin-bottom:25px;color:var(--primary-gold)}.login-input{width:100%;padding:12px;margin-bottom:20px;background-color:#333;border:1px solid #555;color:var(--soft-white);border-radius:8px;font-size:1rem;box-sizing:border-box}.login-button{width:100%;padding:12px;background-color:var(--primary-gold);color:#000;font-weight:700;border-radius:10px;border:none;cursor:pointer;font-size:1rem;transition:background-color .2s ease}.login-button:hover{background-color:#fbbd23}.login-error{color:var(--brand-red);margin-top:15px;font-weight:700}.drivers-container{padding:20px;text-align:left;max-width:800px;margin:40px auto;color:var(--soft-white)}.drivers-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.drivers-header h2{margin:0;color:var(--primary-gold)}.logout-btn{background-color:var(--brand-red);color:#fff;border:none;padding:8px 15px;border-radius:8px;font-weight:700;cursor:pointer}.assigned-order-section,.available-orders-section{margin-bottom:40px}.order-card-driver{background-color:var(--dark-card);border:1px solid #333;border-radius:10px;padding:20px;margin-bottom:15px}.order-card-driver p{margin:0 0 10px}.accept-btn,.deliver-btn{width:100%;padding:12px;margin-top:10px;border:none;border-radius:8px;font-weight:700;font-size:1rem;cursor:pointer}.accept-btn{background-color:var(--primary-gold);color:#000}.deliver-btn{background-color:var(--brand-green);color:#fff}
