*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f8f9fa;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.app{flex-direction:column}.app,.loading-screen{display:flex;min-height:100vh}.loading-screen{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);justify-content:center}.loading-content{color:#fff;text-align:center}.loading-logo{font-size:4rem;margin-bottom:1rem}.loading-title{font-size:2rem;margin-bottom:2rem}.loading-spinner{border:4px solid #ffffff4d;border-top-color:#fff;margin:0 auto 1rem}.app-header{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 2px 10px #0000001a;color:#fff;padding:1rem}.header-content{margin:0 auto;max-width:1200px}.header-left h1{font-size:1.8rem;margin-bottom:.25rem}.header-left p{font-size:.9rem;opacity:.9}.admin-btn{background:#fff3;transition:background .3s}.admin-btn:hover{background:#ffffff4d}.search-section{border-bottom:1px solid #e9ecef;padding:1rem}.search-container{margin:0 auto;max-width:600px}.search-icon{color:#6c757d;left:1rem;position:absolute;top:50%;transform:translateY(-50%)}.search-input{border:2px solid #e9ecef;border-radius:25px;font-size:1rem;padding:.75rem 1rem .75rem 3rem;transition:border-color .3s}.featured-section{margin:0 auto;max-width:1200px;padding:2rem 1rem}.featured-section h2{color:#333;font-size:1.5rem;margin-bottom:.5rem}.featured-section p{color:#6c757d;margin-bottom:2rem}.restaurants-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.restaurant-card{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;cursor:pointer;overflow:hidden;transition:transform .3s,box-shadow .3s}.restaurant-card:hover{box-shadow:0 8px 25px #00000026;transform:translateY(-4px)}.card-image-container{height:200px;overflow:hidden;position:relative}.restaurant-image{height:100%;object-fit:cover;width:100%}.favorite-btn{align-items:center;background:#ffffffe6;border:none;border-radius:50%;cursor:pointer;display:flex;height:36px;justify-content:center;position:absolute;right:.75rem;top:.75rem;transition:all .3s;width:36px}.favorite-btn.active{color:#e74c3c}.favorite-btn:hover{background:#fff;transform:scale(1.1)}.takeaway-badge{background:#28a745;border-radius:20px;bottom:.75rem;color:#fff;font-size:.8rem;font-weight:600;left:.75rem;padding:.25rem .75rem;position:absolute}.card-content{padding:1.25rem}.restaurant-name{font-size:1.25rem}.restaurant-chinese{color:#6c757d;margin-bottom:.5rem}.restaurant-description{color:#6c757d;font-size:.9rem;line-height:1.4;margin-bottom:1rem}.restaurant-meta{justify-content:space-between;margin-bottom:1rem}.rating,.restaurant-meta{align-items:center;display:flex}.rating{gap:.25rem}.price-range{color:#28a745;font-weight:600}.restaurant-actions{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:space-between}.order-btn{background:#667eea;border:none;border-radius:8px;color:#fff;cursor:pointer;flex:1 1;font-weight:600;padding:.75rem;transition:background .3s}.order-btn:hover{background:#5a6fd8}.reservation-btn{align-items:center;background:#28a745;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-weight:600;gap:.5rem;justify-content:center;min-width:80px;padding:.75rem;transition:background .3s}.reservation-btn:hover{background:#218838}.offers-btn{align-items:center;background:#ff6b35;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-weight:600;gap:.5rem;justify-content:center;min-width:80px;padding:.75rem;transition:background .3s}.offers-btn:hover{background:#e55a2b}.coupon-btn{align-items:center;background:#f59e0b;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-weight:600;gap:.5rem;justify-content:center;min-width:80px;padding:.75rem;transition:background .3s}.coupon-btn:hover{background:#d97706}.dining-voucher-btn{align-items:center;background:#8b5cf6;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-weight:600;gap:.5rem;justify-content:center;min-width:80px;padding:.75rem;transition:background .3s}.dining-voucher-btn:hover{background:#7c3aed;box-shadow:0 4px 8px #8b5cf64d}.remote-queue-btn{align-items:center;background:linear-gradient(135deg,#f093fb,#f5576c);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-weight:600;gap:.5rem;justify-content:center;min-width:80px;padding:.75rem;transition:all .3s}.remote-queue-btn:hover{box-shadow:0 4px 8px #f093fb4d;transform:translateY(-1px)}.restaurant-actions button.disabled{background:#9ca3af!important;color:#6b7280!important;cursor:not-allowed;opacity:.5}.restaurant-actions button.disabled:hover{box-shadow:none!important;transform:none!important}.restaurant-code-display{align-items:center;background:#f3f4f6;border:1px solid #d1d5db;border-radius:6px;display:flex;font-size:.875rem;justify-content:space-between;margin:.5rem 0;padding:.5rem}.code-label{color:#374151;font-weight:600}.code-value{background:#e5e7eb;border-radius:4px;color:#1f2937;font-family:Courier New,monospace;font-weight:700;letter-spacing:1px;padding:.25rem .5rem}.code-toggle-btn{background:#10b981;border:none;border-radius:6px;color:#fff;cursor:pointer;margin-right:.5rem;padding:.5rem;position:relative;transition:background .2s}.code-toggle-btn:hover{background:#059669}.code-indicator{background:#ef4444;border:2px solid #fff;border-radius:50%;height:8px;position:absolute;right:-2px;top:-2px;width:8px}.dining-voucher-management-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1000}.dining-voucher-management{background:#fff;border-radius:12px;max-height:90vh;max-width:1200px}.dining-voucher-header{align-items:center;background:linear-gradient(135deg,#8b5cf6,#7c3aed);display:flex;justify-content:space-between;padding:1.5rem}.header-icon{padding:.75rem}.header-text p{font-size:.875rem}.close-btn{transition:background .2s}.dining-voucher-management{background:#f8fafc;border-radius:16px;box-shadow:0 25px 50px -12px #00000040;display:flex;flex-direction:column;max-height:95vh;max-width:1400px;overflow:hidden;width:100%}.dining-voucher-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:0}.header-content{align-items:center;display:flex;justify-content:space-between;padding:2rem}.header-icon{background:#fff3;border-radius:12px;padding:1rem}.header-text h2{font-size:1.75rem;font-weight:700}.header-text p{font-size:1rem;opacity:.9}.close-btn{align-items:center;background:#fff3;display:flex;justify-content:center;padding:.75rem;transition:all .2s}.close-btn:hover{background:#ffffff4d;transform:scale(1.05)}.voucher-nav{background:#fff;border-bottom:1px solid #e2e8f0;padding:0 2rem}.nav-tabs{padding:1rem 0 0}.nav-tab,.nav-tabs{display:flex;gap:.5rem}.nav-tab{align-items:center;background:none;border:none;border-radius:8px 8px 0 0;color:#64748b;cursor:pointer;font-weight:500;padding:.75rem 1.5rem;position:relative;transition:all .2s}.nav-tab:hover{background:#f1f5f9;color:#334155}.nav-tab.active{background:#667eea;color:#fff}.nav-tab.active:after{background:#667eea;bottom:-1px;content:"";height:2px;left:0;position:absolute;right:0}.category-filters{display:flex;gap:.5rem;padding:1rem 0}.filter-btn{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;color:#64748b;cursor:pointer;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:all .2s}.filter-btn:hover{background:#e2e8f0;color:#334155}.filter-btn.active{background:#667eea;border-color:#667eea;color:#fff}.voucher-actions{background:#fff;border-bottom:1px solid #e2e8f0;justify-content:space-between;padding:1.5rem 2rem}.actions-left,.voucher-actions{align-items:center;display:flex;gap:1rem}.actions-left{flex:1 1}.actions-right{gap:.75rem}.actions-right,.primary-btn{align-items:center;display:flex}.primary-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;box-shadow:0 4px 6px -1px #0000001a;color:#fff;cursor:pointer;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;transition:all .2s}.primary-btn:hover{box-shadow:0 8px 15px -3px #0000001a;transform:translateY(-1px)}.secondary-btn{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:8px;color:#64748b;cursor:pointer;display:flex;font-weight:500;gap:.5rem;padding:.75rem 1rem;transition:all .2s}.secondary-btn:hover{background:#f8fafc;border-color:#cbd5e1;color:#334155}.search-container{flex:1 1}.search-input{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;font-size:.875rem;padding:.75rem 1rem .75rem 2.5rem;transition:all .2s;width:100%}.search-input:focus{background:#fff;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.voucher-content{flex:1 1;overflow-y:auto;padding:2rem}.empty-container,.error-container,.loading-container{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:4rem 2rem;text-align:center}.loading-spinner{border:4px solid #e2e8f0;border-top-color:#667eea}.empty-icon{background:#f1f5f9;border-radius:50%;color:#94a3b8;margin-bottom:1rem;padding:2rem}.vouchers-container{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(400px,1fr))}.voucher-card-modern{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 4px 6px -1px #0000001a;overflow:hidden;transition:all .2s}.voucher-card-modern:hover{box-shadow:0 10px 25px -3px #0000001a;transform:translateY(-2px)}.card-header{height:200px;overflow:hidden;position:relative}.voucher-image-modern{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;height:100%;justify-content:center;width:100%}.voucher-image-modern img{height:100%;object-fit:cover;width:100%}.image-placeholder-modern{color:#fffc}.status-badge{align-items:center;background:#ffffffe6;border-radius:20px;color:#059669;display:flex;font-size:.75rem;font-weight:600;gap:.25rem;padding:.5rem .75rem;position:absolute;right:1rem;top:1rem}.card-body{padding:1.5rem}.voucher-title{color:#1e293b;font-size:1.25rem;font-weight:700;margin:0 0 .5rem}.voucher-description{color:#64748b;font-size:.875rem;line-height:1.5;margin:0 0 1rem}.price-section{background:#f8fafc;border-radius:8px;margin:1rem 0;padding:1rem}.price-display{align-items:center;display:flex;gap:.75rem}.original-price{color:#94a3b8;font-size:.875rem;text-decoration:line-through}.discount-price{color:#059669;font-size:1.5rem;font-weight:700}.discount-percentage{background:#dcfce7;border-radius:4px;color:#166534;font-size:.75rem;font-weight:600;padding:.25rem .5rem}.stats-grid{grid-gap:.75rem;gap:.75rem;grid-template-columns:1fr 1fr;margin:1rem 0}.stat-item{align-items:center;color:#64748b;display:flex;font-size:.875rem;gap:.5rem}.date-info{margin:1rem 0}.date-item{align-items:center;color:#64748b;display:flex;font-size:.75rem;gap:.5rem;margin:.25rem 0}.card-footer{background:#f8fafc;display:flex;gap:.75rem;justify-content:flex-end;padding:1rem 1.5rem}.btn-danger,.btn-primary,.btn-secondary{align-items:center;border:none;border-radius:6px;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.25rem;padding:.5rem 1rem;transition:all .2s}.btn-secondary{background:#e2e8f0;color:#64748b}.btn-secondary:hover{background:#cbd5e1;color:#334155}.btn-primary{background:#667eea;color:#fff}.btn-primary:hover{background:#5a6fd8}.btn-danger{background:#ef4444;color:#fff}.btn-danger:hover{background:#dc2626}.embedded-takeaway{background:#f8fafc;bottom:0;display:flex;flex-direction:column;left:0;position:fixed;right:0;top:0;z-index:1000}.embedded-takeaway-error,.embedded-takeaway-loading{align-items:center;display:flex;flex-direction:column;height:100vh;justify-content:center;text-align:center}.error-icon{color:#ef4444;height:48px;margin-bottom:1rem;width:48px}.retry-btn{background:#667eea;border-radius:8px}.embedded-header{align-items:center;background:#fff;border-bottom:1px solid #e2e8f0;box-shadow:0 1px 3px #0000001a;display:flex;justify-content:space-between;padding:1rem 1.5rem}.header-left h2{color:#1e293b;font-size:1.5rem;font-weight:700;margin:0}.header-left p{color:#64748b;font-size:.875rem;margin:.25rem 0 0}.header-right{gap:1rem}.cart-button,.header-right{align-items:center;display:flex}.cart-button{background:#667eea;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:500;gap:.5rem;padding:.75rem;position:relative;transition:all .2s}.cart-button:hover:not(:disabled){background:#5a6fd8;transform:translateY(-1px)}.cart-button:disabled{background:#94a3b8;cursor:not-allowed}.cart-count{align-items:center;background:#ef4444;border-radius:50%;color:#fff;display:flex;font-size:.75rem;font-weight:600;height:20px;justify-content:center;position:absolute;right:-8px;top:-8px;width:20px}.close-button{background:#f1f5f9;border:none;border-radius:8px;color:#64748b;cursor:pointer;padding:.75rem;transition:all .2s}.close-button:hover{background:#e2e8f0;color:#334155}.search-section{background:#fff;border-bottom:1px solid #e2e8f0;padding:1rem 1.5rem}.search-container{max-width:400px;position:relative}.search-container svg{color:#94a3b8;left:1rem;position:absolute;top:50%;transform:translateY(-50%)}.search-container input{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;font-size:.875rem;padding:.75rem 1rem .75rem 2.5rem;transition:all .2s;width:100%}.search-container input:focus{background:#fff;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.category-tabs{background:#fff;border-bottom:1px solid #e2e8f0;display:flex;gap:.5rem;overflow-x:auto;padding:1rem 1.5rem}.category-tab{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;color:#64748b;cursor:pointer;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:all .2s;white-space:nowrap}.category-tab:hover{background:#e2e8f0;color:#334155}.category-tab.active{background:#667eea;border-color:#667eea;color:#fff}.menu-section{flex:1 1;overflow-y:auto;padding:1rem 1.5rem}.menu-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.menu-item-card{background:#fff;border-radius:12px;box-shadow:0 4px 6px -1px #0000001a;overflow:hidden;transition:all .2s}.menu-item-card:hover{box-shadow:0 10px 25px -3px #0000001a;transform:translateY(-2px)}.item-image{height:200px;position:relative}.image-placeholder{background:linear-gradient(135deg,#667eea,#764ba2);font-size:3rem}.item-content{padding:1rem}.item-name{color:#1e293b;font-size:1.125rem;font-weight:600;margin:0 0 .25rem}.item-name-en{color:#64748b;font-size:.875rem;margin:0 0 .5rem}.item-description{color:#64748b;font-size:.875rem;line-height:1.5;margin:0 0 1rem}.item-footer{align-items:center;display:flex;justify-content:space-between}.item-price{color:#059669;font-size:1.25rem;font-weight:700}.add-to-cart-btn{align-items:center;background:#667eea;border-radius:50%;display:flex;height:32px;justify-content:center;transition:all .2s;width:32px}.add-to-cart-btn:hover{background:#5a6fd8;transform:scale(1.1)}.cart-modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1001}.cart-modal{background:#fff;border-radius:12px;display:flex;flex-direction:column;max-height:80vh;max-width:500px;overflow:hidden;width:90%}.cart-header{border-bottom:1px solid #e2e8f0;justify-content:space-between;padding:1rem 1.5rem}.cart-header h3{font-size:1.25rem;font-weight:600;margin:0}.cart-header button{background:none;border:none;border-radius:4px;color:#64748b;cursor:pointer;padding:.25rem}.cart-header button:hover{background:#f1f5f9}.cart-items{flex:1 1;overflow-y:auto;padding:1rem 1.5rem}.cart-item{align-items:center;border-bottom:1px solid #f1f5f9;padding:.75rem 0}.item-info{flex:1 1}.item-info h4{font-size:.875rem;font-weight:600;margin:0 0 .25rem}.item-info p{color:#64748b;font-size:.875rem;margin:0}.quantity-controls{align-items:center;display:flex;gap:.5rem}.quantity-controls button{align-items:center;background:#f1f5f9;border:none;border-radius:4px;cursor:pointer;display:flex;height:28px;justify-content:center;width:28px}.quantity-controls button:hover{background:#e2e8f0}.quantity-controls span{font-weight:500;min-width:20px;text-align:center}.remove-item{align-items:center;background:#fef2f2;border:none;border-radius:4px;color:#ef4444;cursor:pointer;display:flex;height:28px;justify-content:center;width:28px}.remove-item:hover{background:#fee2e2}.cart-footer{border-top:1px solid #e2e8f0;padding:1rem 1.5rem}.cart-total{font-size:1.125rem;font-weight:600;margin-bottom:1rem;text-align:right}.checkout-btn{background:#667eea;padding:.75rem;transition:all .2s}.checkout-btn:hover:not(:disabled){background:#5a6fd8}.checkout-btn:disabled{background:#94a3b8;cursor:not-allowed}.checkout-modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1002}.checkout-modal{background:#fff;border-radius:12px;display:flex;flex-direction:column;max-height:80vh;max-width:600px;overflow:hidden;width:90%}.checkout-header{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:1rem 1.5rem}.checkout-header h3{font-size:1.25rem;font-weight:600;margin:0}.checkout-header button{background:none;border:none;border-radius:4px;color:#64748b;cursor:pointer;padding:.25rem}.checkout-content{flex:1 1;overflow-y:auto;padding:1.5rem}.order-summary{background:#f8fafc;border-radius:8px;margin-bottom:1.5rem;padding:1rem}.order-summary h4{font-size:1rem;font-weight:600;margin:0 0 1rem}.summary-item{font-size:.875rem;margin-bottom:.5rem}.summary-item,.summary-total{display:flex;justify-content:space-between}.summary-total{border-top:1px solid #e2e8f0;font-size:1.125rem;font-weight:600;padding-top:.5rem}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem}.form-group input,.form-group textarea{border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;padding:.75rem;transition:all .2s;width:100%}.form-group input:focus,.form-group textarea:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.checkout-actions{display:flex;gap:1rem;margin-top:1.5rem}.cancel-btn{background:#f1f5f9;color:#64748b}.cancel-btn:hover{background:#e2e8f0;color:#334155}.submit-btn{background:#667eea;flex:2 1;transition:all .2s}.submit-btn:hover:not(:disabled){background:#5a6fd8}.submit-btn:disabled{background:#94a3b8}.success-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1003}.success-message{background:#fff;border-radius:12px;max-width:400px;padding:2rem;text-align:center}.success-icon{color:#059669;height:48px;margin:0 auto 1rem;width:48px}.success-message h3{color:#1e293b;font-size:1.25rem;font-weight:600;margin:0 0 .5rem}.success-message p{color:#64748b;margin:0 0 .5rem}.success-message p:last-child{color:#374151;font-family:monospace;font-size:.875rem}.menu-view{background:#fff;flex:1 1}.menu-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;gap:1rem;padding:1rem}.back-btn{background:#fff3;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:.5rem 1rem}.restaurant-info h1{font-size:1.5rem;margin-bottom:.25rem}.restaurant-info p{margin-bottom:.5rem;opacity:.9}.menu-item,.menu-items{padding:1rem}.menu-item{border-bottom:1px solid #e9ecef;display:flex;gap:1rem}.item-image{border-radius:8px;flex-shrink:0;height:100px;overflow:hidden;width:100px}.item-image img{height:100%;object-fit:cover;width:100%}.item-details{flex:1 1}.item-details h3{color:#333;font-size:1.1rem;margin-bottom:.25rem}.chinese-name{margin-bottom:.5rem}.chinese-name,.description{color:#6c757d;font-size:.9rem}.description{line-height:1.4;margin-bottom:.75rem}.item-meta{align-items:center;display:flex;justify-content:space-between;margin-bottom:.75rem}.category{background:#e9ecef;border-radius:12px;color:#6c757d;font-size:.8rem;padding:.25rem .5rem}.price{color:#28a745;font-size:1.1rem;font-weight:600}.add-to-cart-btn{background:#28a745;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:600;padding:.5rem 1rem;transition:background .3s}.add-to-cart-btn:hover{background:#218838}.cart-view{background:#fff;flex:1 1}.cart-header{align-items:center;background:#f8f9fa;border-bottom:1px solid #e9ecef;display:flex;gap:1rem;padding:1rem}.cart-header h1{color:#333;font-size:1.5rem}.empty-cart{align-items:center;color:#6c757d;display:flex;flex-direction:column;justify-content:center;padding:3rem 1rem;text-align:center}.empty-cart svg{margin-bottom:1rem;opacity:.5}.cart-item,.cart-items{padding:1rem}.cart-item{border-bottom:1px solid #e9ecef;display:flex;gap:1rem}.cart-item .item-image{height:80px;width:80px}.cart-item .item-details{flex:1 1}.cart-item h3{font-size:1rem;margin-bottom:.25rem}.cart-item p{color:#6c757d;font-size:.9rem;margin-bottom:.5rem}.item-controls{align-items:center;display:flex;gap:.5rem;margin-bottom:.5rem}.item-controls button{align-items:center;background:#e9ecef;border:none;border-radius:50%;cursor:pointer;display:flex;height:30px;justify-content:center;width:30px}.item-price{color:#28a745;font-weight:600;margin-bottom:.5rem}.remove-btn{background:#dc3545;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.8rem;padding:.25rem .75rem}.cart-summary{background:#f8f9fa;border-top:1px solid #e9ecef;padding:1rem}.total{font-size:1.25rem;font-weight:600;margin-bottom:1rem;text-align:center}.checkout-btn{background:#28a745;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:600;padding:1rem;width:100%}.favorites-view{background:#fff;flex:1 1}.favorites-header{align-items:center;background:#f8f9fa;border-bottom:1px solid #e9ecef;display:flex;gap:1rem;padding:1rem}.favorites-header h1{color:#333;font-size:1.5rem}.empty-favorites{align-items:center;color:#6c757d;display:flex;flex-direction:column;justify-content:center;padding:3rem 1rem;text-align:center}.empty-favorites svg{margin-bottom:1rem;opacity:.5}.favorites-list{padding:1rem}.favorite-item{border-bottom:1px solid #e9ecef;cursor:pointer;display:flex;gap:1rem;padding:1rem;transition:background .3s}.favorite-item:hover{background:#f8f9fa}.favorite-image{border-radius:8px;height:80px;object-fit:cover;width:80px}.favorite-details{flex:1 1}.favorite-details h3{color:#333;font-size:1.1rem;margin-bottom:.25rem}.favorite-details p{color:#6c757d;font-size:.9rem;margin-bottom:.5rem}.favorite-meta{display:flex;gap:1rem}.unfavorite-btn{background:#dc3545;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;height:36px;width:36px}.admin-panel,.unfavorite-btn{align-items:center;justify-content:center}.admin-panel{background:#00000080;bottom:0;left:0;position:fixed;right:0;top:0;z-index:1000}.admin-panel>div{background:#fff;border-radius:12px;max-height:80vh;max-width:600px;overflow-y:auto;padding:2rem;width:90%}.admin-header{margin-bottom:1rem}.close-admin-btn{align-items:center;background:#dc3545;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;height:32px;justify-content:center;width:32px}.bottom-nav{background:#fff;border-top:1px solid #e9ecef;bottom:0;display:flex;left:0;position:fixed;right:0;z-index:100}.nav-item{align-items:center;background:none;border:none;color:#6c757d;cursor:pointer;display:flex;flex:1 1;flex-direction:column;padding:.75rem;position:relative;transition:color .3s}.nav-item.active{color:#667eea}.nav-item span{font-size:.8rem;margin-top:.25rem}.badge{background:#dc3545;border-radius:50%;font-size:.7rem;font-weight:600;height:20px;justify-content:center;position:absolute;right:.5rem;top:.5rem;width:20px}.admin-btn,.badge{align-items:center;color:#fff;display:flex}.admin-btn{background:#6c757d;border:none;border-radius:8px;cursor:pointer;gap:.5rem;padding:.5rem;position:relative;transition:all .3s ease}.admin-btn:hover{background:#5a6268;transform:translateY(-2px)}.admin-indicator{animation:pulse 2s infinite;background:#28a745;border-radius:50%;height:8px;position:absolute;right:-2px;top:-2px;width:8px}@keyframes pulse{0%{opacity:1}50%{opacity:.5}to{opacity:1}}.admin-auth-overlay{align-items:center;background:#000c;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.admin-auth-modal{background:#fff;border-radius:12px;box-shadow:0 20px 40px #0000004d;max-width:400px;padding:2rem;width:90%}.auth-header{margin-bottom:2rem;text-align:center}.auth-icon{align-items:center;background:#667eea;border-radius:50%;color:#fff;display:flex;height:60px;justify-content:center;margin:0 auto 1rem;width:60px}.auth-header h2{color:#333;margin-bottom:.5rem}.auth-header p{color:#666;font-size:.9rem}.auth-form{display:flex;flex-direction:column;gap:1.5rem}.input-group{align-items:center;display:flex;position:relative}.input-icon{color:#666;left:12px;position:absolute;z-index:1}.input-group input{border:2px solid #e9ecef;border-radius:8px;font-size:1rem;padding:12px 12px 12px 40px;transition:border-color .3s ease;width:100%}.input-group input:focus{border-color:#667eea;outline:none}.password-toggle{background:none;border:none;color:#666;cursor:pointer;padding:4px;position:absolute;right:12px}.error-message{background:#f8d7da;border:1px solid #f5c6cb;border-radius:6px;color:#721c24;font-size:.9rem;padding:.75rem}.auth-actions{display:flex;gap:1rem;margin-top:1rem}.cancel-btn,.login-btn{border:none;border-radius:8px;cursor:pointer;flex:1 1;font-size:1rem;font-weight:600;padding:12px;transition:all .3s ease}.login-btn{background:#667eea;color:#fff}.login-btn:hover{background:#5a6fd8}.auth-footer{border-top:1px solid #e9ecef;margin-top:1.5rem;padding-top:1.5rem;text-align:center}.help-text{color:#666;font-size:.85rem}.admin-panel-overlay{align-items:center;background:#000c;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1000}.admin-panel{background:#fff;border-radius:12px;box-shadow:0 20px 40px #0000004d;display:flex;flex-direction:column;height:90vh;max-width:1200px;overflow:hidden;width:100%}.admin-header{align-items:center;background:#f8f9fa;border-bottom:1px solid #e9ecef;border-radius:12px 12px 0 0;display:flex;flex-shrink:0;justify-content:space-between;padding:1.5rem 2rem}.admin-title h2{color:#333;font-size:1.5rem;margin-bottom:.25rem}.admin-title p{color:#666;font-size:.9rem}.close-btn{background:#dc3545;border-radius:8px;flex-shrink:0;padding:.5rem;transition:background .3s ease}.close-btn:hover{background:#c82333}.admin-tabs{-ms-overflow-style:none;background:#f8f9fa;border-bottom:1px solid #e9ecef;display:flex;flex-shrink:0;overflow-x:auto;scrollbar-width:none}.admin-tabs::-webkit-scrollbar{display:none}.tab{align-items:center;background:none;color:#666;display:flex;gap:.5rem;justify-content:center;min-width:120px;transition:all .3s ease;white-space:nowrap}.tab:hover{background:#e9ecef;color:#333}.tab.active{background:#fff;border-bottom-color:#667eea;color:#667eea}.admin-content{flex:1 1;min-height:0;overflow-y:auto;padding:2rem}.admin-dashboard{display:flex;flex-direction:column;gap:2rem}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.stat-card{transition:transform .3s ease,box-shadow .3s ease}.stat-card:hover{box-shadow:0 8px 25px #0000001a;transform:translateY(-2px)}.stat-icon{background:#667eea;border-radius:12px;color:#fff}.stat-content h3{color:#333;font-size:2rem;font-weight:700;margin-bottom:.25rem}.recent-activity{background:#fff;border:1px solid #e9ecef;border-radius:12px;padding:1.5rem}.recent-activity h3{color:#333;margin-bottom:1rem}.activity-list{display:flex;flex-direction:column;gap:1rem}.activity-item{background:#f8f9fa;border-radius:8px;gap:1rem;padding:1rem}.activity-icon,.activity-item{align-items:center;display:flex}.activity-icon{background:#667eea;border-radius:50%;color:#fff;height:32px;justify-content:center;width:32px}.activity-content p{color:#333;margin-bottom:.25rem}.activity-time{color:#666;font-size:.85rem}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.section-header h3{color:#333}.add-btn{align-items:center;background:#28a745;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-weight:500;gap:.5rem;padding:.75rem 1rem;transition:background .3s ease}.add-btn:hover{background:#218838}.search-bar{margin-bottom:1.5rem;position:relative}.search-bar input{border:2px solid #e9ecef;border-radius:8px;font-size:1rem;padding:12px 12px 12px 40px;width:100%}.search-bar svg{color:#666;left:12px;position:absolute;top:50%;transform:translateY(-50%)}.reservations-table,.restaurants-table{background:#fff;border:1px solid #e9ecef;border-radius:12px;overflow:hidden;overflow-x:auto}.reservations-table table,.restaurants-table table{border-collapse:collapse;min-width:600px;width:100%}.reservations-table th,.restaurants-table th{background:#f8f9fa;border-bottom:1px solid #e9ecef;color:#333;font-weight:600;padding:1rem;text-align:left;white-space:nowrap}.reservations-table td,.restaurants-table td{border-bottom:1px solid #f9f9f9;padding:1rem;vertical-align:top}.restaurant-info{align-items:center;display:flex;gap:1rem}.restaurant-thumb{border-radius:8px;height:50px;object-fit:cover;width:50px}.restaurant-name{color:#333;font-weight:600;margin-bottom:.25rem}.restaurant-chinese{color:#666;font-size:.9rem}.status{border-radius:20px;font-size:.8rem;font-weight:500;padding:.25rem .75rem}.status.active{background:#d4edda;color:#155724}.status.inactive{background:#f8d7da;color:#721c24}.toggle-btn{border:none;border-radius:20px;cursor:pointer;font-size:.8rem;font-weight:500;padding:.25rem .75rem;transition:all .3s ease}.toggle-btn.enabled{background:#d4edda;color:#155724}.toggle-btn.disabled{background:#f8d7da;color:#721c24}.rating{color:#ffc107;font-weight:600}.action-btn:hover{box-shadow:0 2px 8px #0000001a;transform:translateY(-1px)}.customer-info{display:flex;flex-direction:column}.customer-name{color:#333;font-weight:600}.customer-phone{color:#666;font-size:.9rem}.datetime{gap:.25rem}.datetime,.loading{display:flex;flex-direction:column}.loading{align-items:center;color:#666;justify-content:center;padding:3rem}@media (max-width:768px){.restaurants-grid{grid-template-columns:1fr}.restaurant-actions{flex-direction:column;gap:.5rem}.restaurant-actions button{justify-content:center;width:100%}.header-content{gap:1rem;text-align:center}.header-content,.menu-item{flex-direction:column}.item-image{height:200px;width:100%}.admin-panel-overlay{align-items:flex-start;padding:1rem .5rem .5rem}.admin-panel{border-radius:8px;height:95vh;max-width:none;width:100%}.admin-header{flex-direction:column;gap:1rem;padding:1rem;text-align:center}.admin-title h2{font-size:1.25rem}.admin-title p{font-size:.85rem}.admin-tabs{flex-direction:row;overflow-x:auto;padding:0}.tab{flex-shrink:0;font-size:.9rem;min-width:100px;padding:.75rem 1rem}.admin-content{padding:1rem}.stats-grid{gap:1rem;grid-template-columns:1fr}.stat-card{padding:1rem}.stat-content h3{font-size:1.5rem}.section-header{align-items:stretch;flex-direction:column;gap:1rem}.add-btn{justify-content:center;width:100%}.search-bar{margin-bottom:1rem}.reservations-table,.restaurants-table{border-radius:8px;overflow-x:auto}.reservations-table table,.restaurants-table table{min-width:500px}.reservations-table td,.reservations-table th,.restaurants-table td,.restaurants-table th{font-size:.9rem;padding:.75rem .5rem}.restaurant-info{align-items:flex-start;flex-direction:column;gap:.5rem}.restaurant-thumb{height:40px;width:40px}.action-buttons{flex-direction:row;gap:.25rem}.action-btn{padding:.375rem}.customer-info{gap:.25rem}.datetime{gap:.125rem}.activity-item{align-items:flex-start;flex-direction:column;gap:.75rem}.activity-content{width:100%}.add-btn,.close-btn,.tab{min-height:44px}.close-btn{min-width:44px}.search-bar input{min-height:44px}.action-btn{min-height:36px;min-width:36px}.toggle-btn{min-height:32px}}@media (max-width:480px){.admin-panel-overlay{padding:.25rem}.admin-panel{border-radius:4px;height:98vh}.admin-header{padding:.75rem}.admin-title h2{font-size:1.1rem}.admin-content{padding:.75rem}.tab{font-size:.8rem;min-width:80px;padding:.5rem .75rem}.stat-card{padding:.75rem}.stat-content h3{font-size:1.25rem}.reservations-table td,.reservations-table th,.restaurants-table td,.restaurants-table th{font-size:.8rem;padding:.5rem .25rem}.restaurant-thumb{height:30px;width:30px}.action-btn{min-height:32px;min-width:32px;padding:.25rem}.toggle-btn{min-height:24px}.status,.toggle-btn{font-size:.7rem;padding:.125rem .5rem}.add-btn,.close-btn,.tab{min-height:44px}.close-btn{min-width:44px}.search-bar input{min-height:44px}}@media (min-width:769px) and (max-width:1024px){.admin-panel{height:85vh;max-width:95%}.stats-grid{grid-template-columns:repeat(2,1fr)}.reservations-table table,.restaurants-table table{min-width:700px}}.reservation-system-overlay{align-items:center;background:#000c;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1000}.reservation-system{background:#fff;border-radius:12px;box-shadow:0 20px 40px #0000004d;display:flex;flex-direction:column;height:90vh;max-width:1000px;overflow:hidden;width:100%}.reservation-header{background:#f8f9fa;border-bottom:1px solid #e9ecef;border-radius:12px 12px 0 0;flex-shrink:0;padding:1.5rem 2rem}.reservation-header h2{color:#333;font-size:1.5rem;margin-bottom:.25rem}.reservation-header p{color:#666;font-size:.9rem}.reservation-tabs{background:#f8f9fa;border-bottom:1px solid #e9ecef;display:flex;flex-shrink:0;overflow-x:auto}.reservation-tabs .tab{align-items:center;background:none;border:none;border-bottom:3px solid #0000;color:#666;cursor:pointer;display:flex;flex:1 1;font-weight:500;gap:.5rem;justify-content:center;min-width:120px;padding:1rem 1.5rem;transition:all .3s ease;white-space:nowrap}.reservation-tabs .tab:hover{background:#e9ecef;color:#333}.reservation-tabs .tab.active{background:#fff;border-bottom-color:#667eea;color:#667eea}.reservation-content{flex:1 1;min-height:0;overflow-y:auto;padding:2rem}.reservation-form{display:flex;flex-direction:column;gap:1.5rem}.form-group label{color:#333;font-weight:600}.form-group input,.form-group select,.form-group textarea{background:#fff;font-size:1rem;outline:none;transition:border-color .3s ease}.form-actions{margin-top:1rem}.cancel-btn{background:#6c757d;border:none;border-radius:8px;color:#fff;flex:1 1;font-weight:600;padding:.75rem;transition:background .3s ease}.cancel-btn:hover{background:#5a6268}.submit-btn{background:#28a745;border-radius:8px;flex:1 1;font-weight:600;padding:.75rem;transition:background .3s ease}.submit-btn:hover{background:#218838}.submit-btn:disabled{background:#6c757d}.reservations-list{display:flex;flex-direction:column;gap:1rem}.reservation-card{background:#fff;border:1px solid #e9ecef;border-radius:12px;padding:1.5rem;transition:box-shadow .3s ease}.reservation-card:hover{box-shadow:0 4px 12px #0000001a}.reservation-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:1rem}.reservation-info h4{color:#333;font-size:1.1rem;margin-bottom:.25rem}.reservation-info p{color:#666;font-size:.9rem;margin-bottom:.25rem}.reference{color:#667eea;font-size:.8rem;font-weight:500}.reservation-status .status{border-radius:20px;font-size:.8rem;font-weight:500;padding:.25rem .75rem}.status.pending{background:#fff3cd;color:#856404}.status.confirmed{background:#d4edda;color:#155724}.status.cancelled,.status.no_show{background:#f8d7da;color:#721c24}.status.completed{background:#d1ecf1;color:#0c5460}.special-requests{background:#f8f9fa;border-radius:8px;color:#666;font-size:.9rem;margin-bottom:1rem;padding:.75rem}.reservation-actions{display:flex;flex-wrap:wrap;gap:.5rem}.action-btn.confirm{background:#d4edda;color:#155724}.action-btn.confirm:hover{background:#c3e6cb}.action-btn.no-show{background:#f8d7da;color:#721c24}.action-btn.no-show:hover{background:#f5c6cb}.action-btn.cancel{background:#f8d7da;color:#721c24}.action-btn.cancel:hover{background:#f5c6cb}.action-btn.view:hover{background:#bbdefb}.action-btn.delete:hover{background:#ffcdd2}.search-results{display:flex;flex-direction:column;gap:1rem}.search-result-item{align-items:center;background:#fff;border:1px solid #e9ecef;border-radius:8px;display:flex;justify-content:space-between;padding:1rem}.result-info h4{color:#333;margin-bottom:.25rem}.result-info p{color:#666;font-size:.9rem;margin-bottom:.125rem}.seat-settings-overlay{align-items:center;background:#000c;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1000}.seat-settings{background:#fff;border-radius:12px;box-shadow:0 20px 40px #0000004d;display:flex;flex-direction:column;height:90vh;max-width:1000px;overflow:hidden;width:100%}.seat-settings-header{background:#f8f9fa;border-bottom:1px solid #e9ecef;border-radius:12px 12px 0 0;flex-shrink:0;padding:1.5rem 2rem}.seat-settings-header h2{color:#333;font-size:1.5rem;margin-bottom:.25rem}.seat-settings-header p{color:#666;font-size:.9rem}.seat-settings-tabs{background:#f8f9fa;border-bottom:1px solid #e9ecef;display:flex;flex-shrink:0}.seat-settings-tabs .tab{align-items:center;background:none;border:none;border-bottom:3px solid #0000;color:#666;cursor:pointer;display:flex;flex:1 1;font-weight:500;gap:.5rem;justify-content:center;padding:1rem 1.5rem;transition:all .3s ease}.seat-settings-tabs .tab:hover{background:#e9ecef;color:#333}.seat-settings-tabs .tab.active{background:#fff;border-bottom-color:#667eea;color:#667eea}.seat-settings-content{flex:1 1;min-height:0;overflow-y:auto;padding:2rem}.settings-info{background:#e3f2fd;border-radius:8px;margin-bottom:2rem;padding:1rem}.settings-info p{color:#1976d2;font-size:.9rem;margin-bottom:.5rem}.settings-info p:last-child{margin-bottom:0}.general-settings h4,.special-days-list h4{color:#333;font-size:1.1rem;margin-bottom:1rem}.settings-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:2rem}.setting-item{align-items:center;background:#f8f9fa;border-radius:8px;display:flex;justify-content:space-between;padding:1rem}.setting-item label{color:#333;font-weight:600}.setting-item span{color:#666}.deposit-settings{background:#f8f9fa;border-radius:8px;padding:1.5rem}.deposit-item{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.toggle-switch{display:inline-block;height:24px;position:relative;width:50px}.toggle-switch input{height:0;opacity:0;width:0}.slider{background-color:#ccc;border-radius:24px;bottom:0;cursor:pointer;left:0;right:0;top:0}.slider,.slider:before{position:absolute;transition:.4s}.slider:before{background-color:#fff;border-radius:50%;bottom:3px;content:"";height:18px;left:3px;width:18px}input:checked+.slider{background-color:#2196f3}input:checked+.slider:before{transform:translateX(26px)}.deposit-note,.terms-note{color:#666;font-size:.9rem;margin-bottom:.5rem}.special-days-list{margin-bottom:2rem}.special-day-item{align-items:center;background:#fff;border:1px solid #e9ecef;border-radius:8px;display:flex;justify-content:space-between;margin-bottom:1rem;padding:1rem}.day-info h5{color:#333;margin-bottom:.25rem}.day-info p{color:#666;font-size:.9rem;margin-bottom:.125rem}.add-special-btn,.day-actions{display:flex;gap:.5rem}.add-special-btn{align-items:center;background:#28a745;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:500;padding:.75rem 1rem;transition:background .3s ease}.add-special-btn:hover{background:#218838}.time-slots-section{margin-top:2rem}.time-slot-form{background:#f8f9fa;border-radius:8px;margin-bottom:1rem;padding:1.5rem}.slot-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.slot-header h5{color:#333;margin:0}.remove-slot-btn{align-items:center;background:#dc3545;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;justify-content:center;padding:.5rem}.slot-fields{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.add-slot-btn{align-items:center;background:#667eea;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-weight:500;gap:.5rem;margin-top:1rem;padding:.75rem 1rem;transition:background .3s ease}.add-slot-btn:hover{background:#5a6fd8}@media (max-width:768px){.reservation-system,.seat-settings{border-radius:8px;height:95vh;max-width:none;width:100%}.reservation-content,.seat-settings-content{padding:1rem}.form-row{grid-template-columns:1fr}.reservation-actions{flex-direction:column}.action-btn{justify-content:center}.settings-grid,.slot-fields{grid-template-columns:1fr}.special-day-item{align-items:flex-start;flex-direction:column;gap:1rem}.day-actions{justify-content:center;width:100%}}@media (max-width:480px){.reservation-system,.seat-settings{border-radius:4px;height:98vh}.reservation-content,.seat-settings-content{padding:.75rem}.reservation-tabs .tab,.seat-settings-tabs .tab{font-size:.9rem;padding:.75rem 1rem}.action-btn{font-size:.8rem;padding:.5rem .75rem}}.reservation-offers-overlay{align-items:center;background:#000c;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1000}.reservation-offers{background:#fff;border-radius:12px;box-shadow:0 20px 40px #0000004d;display:flex;flex-direction:column;height:90vh;max-width:1200px;overflow:hidden;width:100%}.offers-header{background:#f8f9fa;border-bottom:1px solid #e9ecef;border-radius:12px 12px 0 0;flex-shrink:0;padding:1.5rem 2rem}.offers-header h2{color:#333;font-size:1.5rem;margin-bottom:.25rem}.offers-header p{color:#666;font-size:.9rem}.offers-tabs{background:#f8f9fa;border-bottom:1px solid #e9ecef;display:flex;flex-shrink:0;overflow-x:auto}.offers-tabs .tab{align-items:center;background:none;border:none;border-bottom:3px solid #0000;color:#666;cursor:pointer;display:flex;flex:1 1;font-weight:500;gap:.5rem;justify-content:center;min-width:120px;padding:1rem 1.5rem;transition:all .3s ease;white-space:nowrap}.offers-tabs .tab:hover{background:#e9ecef;color:#333}.offers-tabs .tab.active{background:#fff;border-bottom-color:#ff6b35;color:#ff6b35}.offers-actions{background:#fff;border-bottom:1px solid #e9ecef;display:flex;flex-shrink:0;gap:1rem;padding:1rem 2rem}.add-offer-btn,.verify-offer-btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;transition:all .3s ease}.add-offer-btn{background:#28a745;color:#fff}.add-offer-btn:hover{background:#218838}.verify-offer-btn{background:#17a2b8;color:#fff}.verify-offer-btn:hover{background:#138496}.offers-content{flex:1 1;min-height:0;overflow-y:auto;padding:2rem}.add-offer-form{background:#fff;border-radius:12px;box-shadow:0 20px 40px #0000004d;display:flex;flex-direction:column;height:90vh;max-width:800px;overflow:hidden;width:100%}.form-header{align-items:center;background:#f8f9fa;border-bottom:1px solid #e9ecef;display:flex;flex-shrink:0;justify-content:space-between;padding:1.5rem 2rem}.form-header h3{color:#333;font-size:1.5rem;margin:0}.image-upload{margin-bottom:1rem}.upload-placeholder{background:#f8f9fa;border:2px dashed #e9ecef;border-radius:8px;cursor:pointer;padding:2rem;text-align:center;transition:all .3s ease}.upload-placeholder:hover{background:#fff5f2;border-color:#ff6b35}.upload-placeholder p{color:#666;font-weight:500;margin:.5rem 0}.upload-placeholder small{color:#999;font-size:.8rem}.verify-offer{background:#fff;border-radius:12px;box-shadow:0 20px 40px #0000004d;display:flex;flex-direction:column;height:80vh;max-width:600px;overflow:hidden;width:100%}.verify-header{align-items:center;background:#f8f9fa;border-bottom:1px solid #e9ecef;display:flex;flex-shrink:0;justify-content:space-between;padding:1.5rem 2rem}.verify-header h3{color:#333;font-size:1.5rem;margin:0}.verify-content{flex:1 1;overflow-y:auto;padding:2rem}.method-btn{border:2px solid #e9ecef;flex-direction:column;transition:all .3s ease}.method-btn:hover{background:#fff5f2;border-color:#ff6b35}.method-btn.active{background:#ff6b35;border-color:#ff6b35;color:#fff}.qr-verification{text-align:center}.qr-scanner{background:#f8f9fa;border-radius:12px;padding:2rem}.scanner-placeholder{background:#fff;border:2px dashed #e9ecef;padding:3rem}.scanner-placeholder p{color:#666;margin-top:1rem}.scan-btn{align-items:center;background:#ff6b35;border-radius:8px;display:flex;font-weight:600;gap:.5rem;margin:0 auto;padding:1rem 2rem;transition:background .3s ease}.scan-btn:hover{background:#e55a2b}.scan-btn:disabled{background:#6c757d}.pin-verification{text-align:center}.pin-instructions{margin-bottom:2rem}.pin-instructions p{color:#666;font-size:1.1rem}.pin-inputs{gap:1rem;margin-bottom:2rem}.pin-input{border:2px solid #e9ecef;border-radius:8px;height:60px;transition:border-color .3s ease;width:60px}.pin-input:focus{border-color:#ff6b35}.verify-btn{align-items:center;background:#28a745;border-radius:8px;display:flex;font-weight:600;gap:.5rem;margin:0 auto;padding:1rem 2rem;transition:background .3s ease}.verify-btn:hover:not(:disabled){background:#218838}.verify-btn:disabled{background:#6c757d}.verification-result{background:#f8f9fa;border-radius:8px;margin-bottom:2rem;padding:1.5rem}.verification-result.success{border-left:4px solid #28a745}.verification-result.error{border-left:4px solid #dc3545}.result-header{align-items:center;display:flex;gap:1rem;margin-bottom:1rem}.result-icon.success{color:#28a745}.result-icon.error{color:#dc3545}.offer-details{background:#fff;border-radius:8px;margin-bottom:1rem;padding:1rem}.customer-info{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-top:1rem}.info-item{align-items:center;color:#666;display:flex;gap:.5rem}.result-actions{display:flex;gap:1rem;justify-content:center}.action-btn.primary{background:#ff6b35}.action-btn.primary,.action-btn.secondary{border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:500;padding:.75rem 1.5rem}.action-btn.secondary{background:#6c757d}.offers-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.offer-card{background:#fff;border:1px solid #e9ecef;border-radius:12px;overflow:hidden;transition:box-shadow .3s ease}.offer-card:hover{box-shadow:0 4px 12px #0000001a}.offer-image{align-items:center;background:#f8f9fa;display:flex;height:150px;justify-content:center;overflow:hidden}.offer-image img{height:100%;object-fit:cover;width:100%}.placeholder-image{color:#999}.offer-content{padding:1.5rem}.offer-content h4{color:#333;font-size:1.1rem;margin-bottom:.5rem}.offer-description{color:#666;font-size:.9rem;line-height:1.4;margin-bottom:1rem}.offer-stats{display:flex;flex-direction:column;gap:.25rem;margin-bottom:1rem}.redemptions{color:#ff6b35;font-size:.9rem;font-weight:600}.validity{font-size:.8rem}.offer-actions{display:flex;flex-wrap:wrap;gap:.5rem}.action-btn{border:none;border-radius:6px;font-size:.9rem;font-weight:500;gap:.5rem;padding:.5rem 1rem;transition:all .3s ease}.action-btn.view{background:#e3f2fd;color:#1976d2}.action-btn.edit{background:#fff3e0;color:#f57c00}.action-btn.delete{background:#ffebee;color:#d32f2f}.offer-status-overlay{align-items:center;background:#000c;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1000}.offer-status{background:#fff;border-radius:12px;box-shadow:0 20px 40px #0000004d;display:flex;flex-direction:column;height:90vh;max-width:1200px;overflow:hidden;width:100%}.status-header{align-items:center;background:#f8f9fa;border-bottom:1px solid #e9ecef;border-radius:12px 12px 0 0;display:flex;flex-shrink:0;justify-content:space-between;padding:1.5rem 2rem}.status-header h2{color:#333;font-size:1.5rem;margin-bottom:.25rem}.status-header p{color:#666;font-size:.9rem}.status-content{flex:1 1;min-height:0;overflow-y:auto;padding:2rem}.stats-overview h3{color:#333;font-size:1.3rem;margin-bottom:1.5rem}.stats-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:2rem}.stat-card{align-items:center;background:#fff;border:1px solid #e9ecef;border-radius:12px;display:flex;gap:1rem;padding:1.5rem;transition:box-shadow .3s ease}.stat-card:hover{box-shadow:0 4px 12px #0000001a}.stat-icon{align-items:center;background:#f8f9fa;border-radius:50%;color:#666;display:flex;height:50px;justify-content:center;width:50px}.stat-icon.active{background:#d4edda;color:#28a745}.stat-icon.expired{background:#f8d7da;color:#dc3545}.stat-content h4{color:#333;font-size:2rem;font-weight:700;margin:0}.stat-content p{color:#666;font-size:.9rem;margin:0}.date-filter{background:#f8f9fa;border-radius:8px;margin-bottom:2rem;padding:1.5rem}.date-filter h3{color:#333;font-size:1.1rem;margin-bottom:1rem}.date-inputs{align-items:end;display:flex;gap:1rem}.date-input{display:flex;flex-direction:column;gap:.5rem}.date-input label{color:#666;font-size:.9rem;font-weight:500}.date-input input{border:2px solid #e9ecef;border-radius:6px;font-size:1rem;padding:.75rem}.refresh-btn{align-items:center;background:#ff6b35;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-weight:500;gap:.5rem;height:-webkit-fit-content;height:fit-content;padding:.75rem 1.5rem}.refresh-btn:hover:not(:disabled){background:#e55a2b}.refresh-btn:disabled{background:#6c757d;cursor:not-allowed}.offers-status-list{background:#fff;border:1px solid #e9ecef;border-radius:8px;overflow:hidden}.list-header{align-items:center;background:#f8f9fa;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;padding:1.5rem}.list-header h3{color:#333;font-size:1.1rem;margin:0}.export-btn{align-items:center;background:#17a2b8;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-weight:500;gap:.5rem;padding:.5rem 1rem}.export-btn:hover{background:#138496}.offers-table{overflow-x:auto}.offers-table table{border-collapse:collapse;width:100%}.offers-table th{background:#f8f9fa;color:#333;font-weight:600;text-align:left;white-space:nowrap}.offers-table td,.offers-table th{border-bottom:1px solid #e9ecef;padding:1rem}.offers-table td{vertical-align:top}.offer-title h4{color:#333;font-size:1rem;margin:0 0 .25rem}.offer-title p{color:#666;font-size:.9rem;margin:0}.status-cell{align-items:center;display:flex;gap:.5rem}.status-icon.active{color:#28a745}.status-icon.expired{color:#dc3545}.status-icon.draft{color:#ffc107}.redemption-stats{display:flex;flex-direction:column;gap:.25rem}.today{color:#ff6b35;font-size:.9rem;font-weight:600}.total{color:#666;font-size:.8rem}.validity{color:#666;display:flex;flex-direction:column;font-size:.9rem;gap:.25rem}.conversion-rate{color:#28a745;font-weight:600}.action-buttons{display:flex;gap:.5rem}.recent-verifications h3{color:#333;margin-bottom:1rem}.verifications-list{background:#fff;border:1px solid #e9ecef;border-radius:8px;overflow:hidden}.verification-item{border-bottom:1px solid #e9ecef;gap:1rem;padding:1rem}.verification-item:last-child{border-bottom:none}.verification-icon{flex-shrink:0}.verification-details h4{color:#333;font-size:1rem}.verification-details p{color:#666;font-size:.9rem;margin:0 0 .25rem}.verification-time{color:#999;font-size:.8rem}.verification-status .status{border-radius:20px;font-size:.8rem;font-weight:500;padding:.25rem .75rem}.status.success{background:#d4edda;color:#155724}.status.failed{background:#f8d7da;color:#721c24}.spinning{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.loading-state{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:3rem;text-align:center}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #f3f3f3;border-radius:50%;border-top-color:#ff6b35;height:40px;margin-bottom:1rem;width:40px}.loading-state p{color:#666;font-size:1.1rem;margin:0}.empty-state{align-items:center;display:flex;flex-direction:column;grid-column:1/-1;justify-content:center;padding:3rem;text-align:center}.empty-state h3{color:#333;font-size:1.3rem;margin:1rem 0 .5rem}.empty-state p{color:#666;line-height:1.5;margin:.5rem 0}.error-state{align-items:center;display:flex;flex-direction:column;grid-column:1/-1;justify-content:center;padding:3rem;text-align:center}.error-state h3{color:#dc3545;font-size:1.3rem;margin:1rem 0 .5rem}.error-state p{color:#666;line-height:1.5;margin:.5rem 0}.retry-btn{background:#ff6b35;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:500;margin-top:1rem;padding:.75rem 1.5rem}.retry-btn:hover{background:#e55a2b}.offer-verification-overlay{align-items:center;background:#000c;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1000}.offer-verification{background:#fff;border-radius:12px;box-shadow:0 20px 40px #0000004d;max-height:90vh;max-width:600px;overflow-y:auto;width:100%}.verification-header{align-items:center;background:#f9fafb;border-bottom:1px solid #e5e7eb;border-radius:12px 12px 0 0;display:flex;justify-content:space-between;padding:1.5rem}.verification-header h2{color:#1f2937;font-size:1.5rem;font-weight:600;margin:0}.verification-header p{color:#6b7280;font-size:.9rem;margin:.25rem 0 0}.verification-content{padding:1.5rem}.verification-methods{display:flex;gap:1rem;margin-bottom:2rem}.method-btn{align-items:center;background:#fff;border:2px solid #e5e7eb;border-radius:8px;color:#6b7280;cursor:pointer;display:flex;flex:1 1;font-weight:500;gap:.5rem;justify-content:center;padding:1rem;transition:all .2s}.method-btn:hover{background:#f9fafb;border-color:#d1d5db}.method-btn.active{background:#eff6ff;border-color:#3b82f6;color:#3b82f6}.pin-verification,.qr-verification{text-align:center}.qr-scanner{margin-bottom:2rem}.scanner-placeholder{align-items:center;background:#f9fafb;border:2px dashed #d1d5db;border-radius:8px;display:flex;flex-direction:column;gap:1rem;margin-bottom:1rem;padding:2rem}.scanner-placeholder p{color:#6b7280;font-size:.9rem;margin:0}.scan-btn{background:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:500;padding:.75rem 1.5rem;transition:background .2s}.scan-btn:hover:not(:disabled){background:#2563eb}.scan-btn:disabled{background:#9ca3af;cursor:not-allowed}.pin-inputs{display:flex;gap:.5rem;justify-content:center;margin-bottom:1.5rem}.pin-input{background:#fff;border:2px solid #d1d5db;border-radius:6px;color:#1f2937;font-size:1.5rem;font-weight:600;height:3rem;text-align:center;transition:border-color .2s;width:3rem}.pin-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.verify-btn{background:#10b981;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:500;padding:.75rem 2rem;transition:background .2s}.verify-btn:hover:not(:disabled){background:#059669}.verify-btn:disabled{background:#9ca3af;cursor:not-allowed}.verification-result{border-radius:6px;margin-top:1.5rem;padding:1rem;text-align:center}.verification-result.success{background:#d1fae5;border:1px solid #a7f3d0;color:#065f46}.verification-result.error{background:#fee2e2;border:1px solid #fecaca;color:#991b1b}.recent-verifications{border-top:1px solid #e5e7eb;margin-top:2rem;padding-top:2rem}.recent-verifications h3{color:#1f2937;font-size:1.1rem;font-weight:600;margin:0 0 1rem}.verification-item{align-items:center;background:#f9fafb;border-radius:6px;display:flex;gap:.75rem;margin-bottom:.5rem;padding:.75rem}.verification-item:last-child{margin-bottom:0}.status-icon{flex-shrink:0}.status-icon.success{color:#10b981}.status-icon.failed{color:#ef4444}.status-icon.unknown{color:#6b7280}.verification-details{flex:1 1;min-width:0}.verification-details h4{color:#1f2937;font-size:.9rem;font-weight:500;margin:0 0 .25rem}.verification-details p{color:#6b7280;font-size:.8rem;margin:0}.verification-time{color:#9ca3af;font-size:.75rem}.coupon-management-overlay{align-items:center;background:#000c;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1000}.coupon-management{background:#fff;border-radius:12px;box-shadow:0 20px 40px #0000004d;max-height:90vh;max-width:1200px;overflow-y:auto;width:100%}.coupon-header{align-items:center;background:#f9fafb;border-bottom:1px solid #e5e7eb;border-radius:12px 12px 0 0;display:flex;justify-content:space-between;padding:1.5rem}.header-left{gap:1rem}.header-icon{align-items:center;background:#f59e0b;border-radius:8px;color:#fff;display:flex;height:48px;justify-content:center;width:48px}.header-text h2{color:#1f2937;font-size:1.5rem;font-weight:600;margin:0}.header-text p{color:#6b7280;font-size:.9rem;margin:.25rem 0 0}.coupon-tabs{background:#fff;border-bottom:1px solid #e5e7eb;display:flex}.tab{background:#fff;border:none;border-bottom:3px solid #0000;color:#6b7280;cursor:pointer;flex:1 1;font-weight:500;padding:1rem 1.5rem;transition:all .2s}.tab:hover{background:#f9fafb;color:#374151}.tab.active{background:#fffbeb;border-bottom-color:#f59e0b;color:#f59e0b}.coupon-actions{align-items:center;background:#fff;border-bottom:1px solid #e5e7eb;justify-content:space-between;padding:1.5rem}.create-coupon-btn{align-items:center;background:#f59e0b;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-weight:500;gap:.5rem;padding:.75rem 1.5rem;transition:background .2s}.create-coupon-btn:hover{background:#d97706}.search-bar{align-items:center;background:#f9fafb;border:1px solid #d1d5db;border-radius:6px;display:flex;gap:.5rem;min-width:300px;padding:.5rem 1rem}.search-bar input{background:#0000;border:none;color:#374151;flex:1 1;outline:none}.coupon-content{padding:1.5rem}.coupons-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.coupon-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 1px 3px #0000001a;overflow:hidden;transition:all .2s}.coupon-card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.coupon-image{height:200px;overflow:hidden;position:relative}.coupon-image img{height:100%;object-fit:cover;width:100%}.image-placeholder{align-items:center;background:#f3f4f6;color:#9ca3af;display:flex;height:100%;justify-content:center;width:100%}.coupon-status{align-items:center;background:#ffffffe6;border-radius:4px;display:flex;font-size:.75rem;font-weight:500;gap:.25rem;padding:.25rem .5rem;position:absolute;right:.75rem;top:.75rem}.status-icon.active{color:#10b981}.status-icon.expired{color:#ef4444}.status-icon.draft{color:#6b7280}.status-icon.pending{color:#f59e0b}.status-icon.rejected{color:#ef4444}.coupon-info{padding:1rem}.coupon-info h4{color:#1f2937;font-size:1.1rem;font-weight:600;margin:0 0 .5rem}.coupon-description{color:#6b7280;font-size:.9rem;line-height:1.4;margin:0 0 1rem}.coupon-details{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.detail-item{align-items:center;color:#6b7280;display:flex;font-size:.85rem;gap:.5rem}.coupon-actions{display:flex;gap:.5rem;padding:0 1rem 1rem}.action-btn{align-items:center;background:#fff;border:1px solid #d1d5db;border-radius:4px;color:#6b7280;cursor:pointer;display:flex;flex:1 1;font-size:.8rem;gap:.25rem;justify-content:center;padding:.5rem;transition:all .2s}.action-btn:hover{background:#f9fafb}.action-btn.view:hover{border-color:#3b82f6;color:#3b82f6}.action-btn.edit:hover{border-color:#f59e0b;color:#f59e0b}.action-btn.delete:hover{border-color:#ef4444;color:#ef4444}.create-coupon-overlay{align-items:center;background:#000c;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1001}.create-coupon{background:#fff;border-radius:12px;box-shadow:0 20px 40px #0000004d;max-height:90vh;max-width:800px;overflow-y:auto;width:100%}.create-header{align-items:center;background:#f9fafb;border-bottom:1px solid #e5e7eb;border-radius:12px 12px 0 0;display:flex;justify-content:space-between;padding:1.5rem}.create-header h2{color:#1f2937;font-size:1.5rem;font-weight:600;margin:0}.create-form{padding:1.5rem}.form-section{border-bottom:1px solid #e5e7eb;margin-bottom:2rem;padding-bottom:1.5rem}.form-section:last-of-type{border-bottom:none;margin-bottom:0}.form-section h3{color:#1f2937;font-size:1.1rem;font-weight:600;margin:0 0 1rem}.form-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr;margin-bottom:1rem}.form-group{gap:.5rem}.form-group label{color:#374151;font-size:.9rem}.form-group input,.form-group select,.form-group textarea{border:1px solid #d1d5db;border-radius:6px;box-sizing:border-box;font-size:.9rem;padding:.75rem;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#f59e0b;box-shadow:0 0 0 3px #f59e0b1a}.form-group input.error,.form-group select.error,.form-group textarea.error{border-color:#ef4444}.error-text{color:#ef4444;font-size:.8rem}.form-group input[type=checkbox]{margin-right:.5rem;width:auto}.form-actions{border-top:1px solid #e5e7eb;display:flex;gap:1rem;justify-content:flex-end;padding-top:1.5rem}.cancel-btn{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#374151;cursor:pointer;font-weight:500;padding:.75rem 1.5rem;transition:all .2s}.cancel-btn:hover{background:#f9fafb}.submit-btn{background:#f59e0b;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:500;padding:.75rem 1.5rem;transition:background .2s}.submit-btn:hover:not(:disabled){background:#d97706}.submit-btn:disabled{background:#9ca3af;cursor:not-allowed}.coupon-details-overlay{align-items:center;background:#000c;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1001}.coupon-details{background:#fff;border-radius:12px;box-shadow:0 20px 40px #0000004d;max-height:90vh;max-width:600px;overflow-y:auto;width:100%}.details-header{align-items:center;background:#f9fafb;border-bottom:1px solid #e5e7eb;border-radius:12px 12px 0 0;display:flex;justify-content:space-between;padding:1.5rem}.details-header h2{color:#1f2937;font-size:1.5rem;font-weight:600;margin:0}.details-content{padding:1.5rem}.coupon-preview{background:#f9fafb;border-radius:8px;display:flex;gap:1rem;margin-bottom:2rem;padding:1rem}.preview-image{border-radius:6px;flex-shrink:0;height:120px;overflow:hidden;width:120px}.preview-image img{height:100%;object-fit:cover;width:100%}.preview-info{flex:1 1}.preview-info h3{color:#1f2937;font-size:1.2rem}.discount-info,.preview-info h3{font-weight:600;margin:0 0 .5rem}.discount-info{color:#f59e0b}.validity-info{color:#6b7280;font-size:.9rem;margin:0 0 1rem}.status-badge{background:#d1fae5;border-radius:4px;color:#065f46;display:inline-block;font-size:.8rem;font-weight:500;padding:.25rem .75rem}.coupon-stats{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(3,1fr);margin-bottom:2rem}.stat-item{background:#f9fafb;border-radius:6px;padding:1rem;text-align:center}.stat-value{color:#1f2937;font-size:1.5rem;font-weight:700;margin-bottom:.25rem}.stat-label{color:#6b7280;font-size:.8rem}.redemptions-section h3{color:#1f2937;font-size:1.1rem;font-weight:600;margin:0 0 1rem}.redemptions-list{display:flex;flex-direction:column;gap:.5rem}.redemption-item{align-items:center;background:#f9fafb;border-radius:6px;display:flex;justify-content:space-between;padding:.75rem}.redemption-info{flex:1 1}.customer-name{color:#1f2937;font-weight:500;margin-bottom:.25rem}.redemption-date{color:#6b7280;font-size:.8rem}.redemption-amount{text-align:right}.discount-amount{color:#10b981;font-weight:600;margin-bottom:.25rem}.final-amount{color:#6b7280;font-size:.8rem}@media (max-width:768px){.offer-status,.offer-verification-overlay .offer-verification,.reservation-offers{border-radius:8px;height:95vh;max-width:none;width:100%}.offers-content,.status-content,.verify-content{padding:1rem}.offers-grid{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(2,1fr)}.date-inputs{align-items:stretch;flex-direction:column}.pin-inputs{gap:.5rem}.pin-input{font-size:1.2rem;height:50px;width:50px}.verification-methods{flex-direction:column}.offers-table{font-size:.9rem}.offers-table td,.offers-table th{padding:.75rem .5rem}}@media (max-width:480px){.offer-status,.offer-verification-overlay .offer-verification,.reservation-offers{border-radius:4px;height:98vh}.offers-content,.status-content,.verify-content{padding:.75rem}.offers-tabs .tab{font-size:.9rem;padding:.75rem 1rem}.stats-grid{grid-template-columns:1fr}.pin-input{font-size:1rem;height:45px;width:45px}.action-btn{font-size:.8rem;padding:.5rem .75rem}}  .dining-voucher-btn{align-items:center;background:linear-gradient(135deg,#8b5cf6,#7c3aed);border:none;border-radius:6px;box-shadow:0 2px 4px #8b5cf64d;color:#fff;cursor:pointer;display:flex;font-size:12px;font-weight:500;gap:4px;padding:8px 12px;transition:all .2s ease}.dining-voucher-btn:hover{background:linear-gradient(135deg,#7c3aed,#6d28d9);box-shadow:0 4px 8px #8b5cf666;transform:translateY(-1px)}.remote-queue-modal{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.remote-queue-container{background-color:#fff;border-radius:12px;box-shadow:0 20px 40px #0000004d;display:flex;flex-direction:column;max-height:90vh;max-width:500px;overflow:hidden;width:100%}.remote-queue-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;justify-content:space-between;padding:20px}.header-left{align-items:center;display:flex;gap:12px}.header-icon{color:#f8f9fa}.remote-queue-header h2{font-size:24px;font-weight:600;margin:0}.restaurant-name{background-color:#fff3;border-radius:20px;font-size:14px;font-weight:500;padding:4px 12px}.close-btn{background:none;border:none;border-radius:6px;color:#fff;cursor:pointer;padding:8px;transition:background-color .2s}.close-btn:hover{background-color:#fff3}.remote-queue-content{flex:1 1;overflow-y:auto;padding:24px}.queue-status{background-color:#f8f9fa;border-radius:8px;display:flex;flex-direction:column;gap:12px;margin-bottom:24px;padding:16px}.status-item{align-items:center;color:#495057;display:flex;font-size:14px;gap:8px}.status-icon{color:#667eea}.join-form{gap:20px;margin-bottom:24px}.form-group,.join-form{display:flex;flex-direction:column}.form-group{gap:8px}.form-group label{color:#495057;font-size:14px;font-weight:500}.form-group input,.form-group select,.form-group textarea{background-color:#fff;border:2px solid #e9ecef;border-radius:8px;font-size:14px;padding:12px 16px;transition:border-color .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.form-group textarea{min-height:80px;resize:vertical}.join-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;margin-top:8px;padding:14px 24px;transition:all .2s}.join-btn:hover{box-shadow:0 8px 20px #667eea4d;transform:translateY(-2px)}.join-btn:disabled{box-shadow:none;cursor:not-allowed;opacity:.6;transform:none}.queue-info{background-color:#f8f9fa;border-left:4px solid #667eea;border-radius:8px;padding:16px}.queue-info h3{color:#495057;font-size:16px;font-weight:600;margin:0 0 12px}.queue-info ul{color:#6c757d;font-size:14px;line-height:1.6;margin:0;padding-left:20px}.queue-info li{margin-bottom:4px}@media (max-width:768px){.remote-queue-modal{padding:10px}.remote-queue-container{max-height:95vh}.remote-queue-header{padding:16px}.remote-queue-header h2{font-size:20px}.restaurant-name{display:none}.remote-queue-content{padding:16px}.form-group input,.form-group select,.form-group textarea{padding:10px 12px}.join-btn{font-size:14px;padding:12px 20px}}
/*# sourceMappingURL=main.b9cf6ec6.css.map*/