:root{--tg-theme-bg-color:#f5f5f5;--tg-theme-text-color:#1a1a2e;--tg-theme-secondary-text:#666;--tg-theme-button-color:#3390ec;--tg-theme-button-text:#fff;--tg-theme-hint-color:#999;--header-bg:#1a1a2e;--header-text:#fff;--primary:#3390ec;--primary-dark:#2b7fd4;--success:#4caf50;--warning:#ff9800;--danger:#f44336;--card-bg:#fff;--border-color:#e0e0e0;--shadow:0 2px 8px #00000014;--radius:12px;--radius-sm:8px;--safe-bottom:env(safe-area-inset-bottom,0px)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html,body{background-color:var(--tg-theme-bg-color);height:100%;color:var(--tg-theme-text-color);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:16px;overflow-x:hidden}.header{background:var(--header-bg);height:56px;color:var(--header-text);z-index:100;justify-content:space-between;align-items:center;padding:0 16px;display:flex;position:fixed;top:0;left:0;right:0}.header-title{text-align:center;flex:1;font-size:18px;font-weight:600}.header-btn{width:40px;height:40px;color:var(--header-text);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:20px;display:flex;position:relative}.header-btn:active{background:#ffffff1a}.cart-count{background:var(--danger);color:#fff;border-radius:9px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 4px;font-size:11px;font-weight:600;display:flex;position:absolute;top:2px;right:2px}.content{padding-top:56px;padding-bottom:calc(60px + var(--safe-bottom));min-height:100vh}.bottom-nav{height:calc(60px + var(--safe-bottom));padding-bottom:var(--safe-bottom);background:var(--card-bg);border-top:1px solid var(--border-color);z-index:100;justify-content:space-around;align-items:center;display:flex;position:fixed;bottom:0;left:0;right:0}.nav-item{color:var(--tg-theme-secondary-text);cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;align-items:center;gap:2px;padding:8px 0;font-size:12px;transition:color .2s;display:flex}.nav-item.active{color:var(--primary)}.nav-icon{font-size:22px}.page{padding:16px}.page-title{margin-bottom:16px;font-size:22px;font-weight:700}.page-subtitle{color:var(--tg-theme-secondary-text);margin-bottom:20px;font-size:14px}.restaurant-list{flex-direction:column;gap:12px;display:flex}.restaurant-card{background:var(--card-bg);border-radius:var(--radius);box-shadow:var(--shadow);cursor:pointer;transition:transform .2s;overflow:hidden}.restaurant-card:active{transform:scale(.98)}.restaurant-card-image{object-fit:cover;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);width:100%;height:140px}.restaurant-card-content{padding:12px}.restaurant-card-name{margin-bottom:6px;font-size:16px;font-weight:600}.restaurant-card-meta{color:var(--tg-theme-secondary-text);align-items:center;gap:12px;font-size:13px;display:flex}.restaurant-card-meta span{align-items:center;gap:4px;display:flex}.menu-section{margin-bottom:24px}.menu-section-title{border-bottom:2px solid var(--primary);margin-bottom:12px;padding-bottom:8px;font-size:18px;font-weight:600;display:inline-block}.food-list{flex-direction:column;gap:12px;display:flex}.food-item-card{background:var(--card-bg);border-radius:var(--radius);box-shadow:var(--shadow);gap:12px;padding:12px;display:flex}.food-item-image{border-radius:var(--radius-sm);object-fit:cover;background:linear-gradient(135deg,#f093fb 0%,#f5576c 100%);flex-shrink:0;width:90px;height:90px}.food-item-content{flex-direction:column;flex:1;justify-content:space-between;display:flex}.food-item-name{align-items:center;gap:6px;font-size:15px;font-weight:600;display:flex}.veg-indicator{border:2px solid var(--success);border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;display:flex}.veg-indicator:after{content:"";background:var(--success);border-radius:50%;width:8px;height:8px}.non-veg-indicator{border-color:var(--danger)}.non-veg-indicator:after{background:var(--danger)}.food-item-desc{color:var(--tg-theme-secondary-text);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:13px;line-height:1.4;display:-webkit-box;overflow:hidden}.food-item-footer{justify-content:space-between;align-items:center;display:flex}.food-item-price{color:var(--tg-theme-text-color);font-size:16px;font-weight:700}.btn{border-radius:var(--radius-sm);cursor:pointer;border:none;justify-content:center;align-items:center;gap:6px;padding:10px 20px;font-size:14px;font-weight:600;transition:all .2s;display:inline-flex}.btn-primary{background:var(--primary);color:var(--tg-theme-button-text)}.btn-primary:active{background:var(--primary-dark)}.btn-success{background:var(--success);color:#fff}.btn-danger{background:var(--danger);color:#fff}.btn-outline{border:1.5px solid var(--primary);color:var(--primary);background:0 0}.btn-sm{padding:6px 12px;font-size:13px}.btn-block{width:100%}.btn-lg{padding:14px 24px;font-size:16px}.quantity-control{background:var(--tg-theme-bg-color);border-radius:20px;align-items:center;gap:8px;padding:4px;display:flex}.quantity-btn{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:18px;font-weight:600;display:flex}.quantity-btn:active{background:var(--primary-dark)}.quantity-value{text-align:center;min-width:20px;font-size:15px;font-weight:600}.cart-list{flex-direction:column;gap:12px;margin-bottom:20px;display:flex}.cart-item{background:var(--card-bg);border-radius:var(--radius);box-shadow:var(--shadow);align-items:center;gap:12px;padding:12px;display:flex}.cart-item-image{border-radius:var(--radius-sm);object-fit:cover;flex-shrink:0;width:60px;height:60px}.cart-item-info{flex:1}.cart-item-name{margin-bottom:4px;font-size:14px;font-weight:600}.cart-item-price{color:var(--tg-theme-secondary-text);font-size:14px}.cart-item-actions{align-items:center;gap:8px;display:flex}.remove-btn{width:32px;height:32px;color:var(--danger);cursor:pointer;background:#ffebee;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:16px;display:flex}.remove-btn:active{background:#ffcdd2}.order-summary{background:var(--card-bg);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:20px;padding:16px}.summary-title{margin-bottom:12px;font-size:16px;font-weight:600}.summary-row{justify-content:space-between;padding:8px 0;font-size:14px;display:flex}.summary-row.total{border-top:1px solid var(--border-color);margin-top:8px;padding-top:12px;font-size:16px;font-weight:700}.form-group{margin-bottom:16px}.form-label{color:var(--tg-theme-text-color);margin-bottom:6px;font-size:14px;font-weight:500;display:block}.form-input{border:1.5px solid var(--border-color);border-radius:var(--radius-sm);background:var(--card-bg);width:100%;color:var(--tg-theme-text-color);outline:none;padding:12px 16px;font-size:16px;transition:border-color .2s}.form-input:focus{border-color:var(--primary)}.form-input::placeholder{color:var(--tg-theme-hint-color)}.payment-section{background:var(--card-bg);border-radius:var(--radius);box-shadow:var(--shadow);text-align:center;margin-bottom:20px;padding:20px}.qr-placeholder{border-radius:var(--radius);background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);justify-content:center;align-items:center;width:200px;height:200px;margin:0 auto 16px;font-size:60px;display:flex}.upi-id{color:var(--tg-theme-text-color);background:var(--tg-theme-bg-color);border-radius:var(--radius-sm);margin-bottom:8px;padding:12px;font-size:18px;font-weight:700}.upi-id-label{color:var(--tg-theme-secondary-text);margin-bottom:16px;font-size:13px}.payment-amount{color:var(--primary);margin-bottom:20px;font-size:24px;font-weight:700}.status-tracker{background:var(--card-bg);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:20px;padding:20px}.status-step{align-items:flex-start;gap:16px;padding:12px 0;display:flex;position:relative}.status-step:not(:last-child):after{content:"";background:var(--border-color);width:2px;height:calc(100% - 24px);position:absolute;top:40px;left:15px}.status-step.completed:not(:last-child):after{background:var(--success)}.status-indicator{background:var(--border-color);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:14px;display:flex}.status-step.completed .status-indicator{background:var(--success);color:#fff}.status-step.active .status-indicator{background:var(--primary);color:#fff;animation:2s infinite pulse}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.status-info{flex:1}.status-title{font-size:15px;font-weight:600}.status-desc{color:var(--tg-theme-secondary-text);margin-top:2px;font-size:13px}.location-section{background:var(--card-bg);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:20px;padding:16px}.location-instruction{border-radius:var(--radius-sm);background:#e3f2fd;margin-bottom:12px;padding:16px}.location-instruction p{color:#1565c0;margin-bottom:8px;font-size:14px}.location-instruction p:last-child{margin-bottom:0}.location-steps{padding:0;list-style:none}.location-steps li{color:var(--tg-theme-text-color);align-items:center;gap:8px;padding:8px 0;font-size:14px;display:flex}.location-steps li:before{content:"→";color:var(--primary);font-weight:700}.delivery-confirm{gap:12px;margin-top:20px;display:flex}.delivery-confirm .btn{flex:1}.empty-state{text-align:center;padding:60px 20px}.empty-state-icon{margin-bottom:16px;font-size:64px}.empty-state-title{margin-bottom:8px;font-size:18px;font-weight:600}.empty-state-desc{color:var(--tg-theme-secondary-text);margin-bottom:20px;font-size:14px}.toast{bottom:calc(80px + var(--safe-bottom));color:#fff;z-index:200;opacity:0;white-space:nowrap;background:#000c;border-radius:20px;padding:10px 20px;font-size:14px;transition:all .3s;position:fixed;left:50%;transform:translate(-50%)translateY(20px)}.toast.show{opacity:1;transform:translate(-50%)translateY(0)}.hidden{display:none!important}.text-center{text-align:center}.text-muted{color:var(--tg-theme-secondary-text)}.mt-12{margin-top:12px}.mt-16{margin-top:16px}.mt-20{margin-top:20px}.mb-12{margin-bottom:12px}.mb-16{margin-bottom:16px}.mb-20{margin-bottom:20px}.spinner{border:3px solid var(--border-color);border-top-color:var(--primary);border-radius:50%;width:40px;height:40px;margin:40px auto;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}
