body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.login-modal-overlay{align-items:center;background:#00000080;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:1000}.login-modal{animation:modalSlideIn .3s ease-out;background:#fff;border-radius:12px;box-shadow:0 10px 30px #0000004d;max-width:400px;width:90%}.login-modal-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:20px 24px}.login-modal-header h2{color:#333;font-size:20px;font-weight:600;margin:0}.close-btn{height:30px;padding:0;transition:all .3s ease;width:30px}.close-btn:hover{background:#f0f0f0;color:#333}.login-modal-body{padding:24px}.form-group label{font-size:14px;text-align:left}.form-group input{border:2px solid #e0e0e0;border-radius:8px;font-size:16px;padding:12px 16px}.form-group input::placeholder{color:#999}.form-text{color:#666;display:block;font-size:12px;font-style:italic;margin-top:4px}.error-message{border:1px solid #fcc;font-size:14px;padding:12px 16px}.login-btn{font-size:16px;margin-bottom:20px;padding:14px 24px;width:100%}.login-btn:hover:not(:disabled){background:#45a049;box-shadow:0 4px 12px #4caf504d;transform:translateY(-2px)}.login-btn:disabled{background:#ccc;box-shadow:none;cursor:not-allowed;transform:none}.login-footer{border-top:1px solid #e0e0e0;padding-top:16px;text-align:center}.login-footer p{color:#666;font-size:14px;margin:0}.register-link{color:#4caf50;cursor:pointer;font-weight:500;text-decoration:underline}.register-link:hover{color:#45a049}@media (max-width:480px){.login-modal{margin:20px;width:95%}.login-modal-body,.login-modal-header{padding:16px}.login-modal-header h2{font-size:18px}}.item-detail-modal{align-items:center;background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:2000}.item-detail-content{background:#fff;border-radius:15px;box-shadow:0 20px 40px #0000004d;display:flex;flex-direction:column;max-height:90vh;max-width:600px;overflow:hidden;width:100%}.item-detail-header{align-items:center;background:#f8f9fa;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;padding:20px}.item-detail-header h2{color:#333;font-size:24px;margin:0}.close-btn{align-items:center;background:none;border:none;border-radius:50%;color:#666;cursor:pointer;display:flex;font-size:24px;height:40px;justify-content:center;padding:5px;transition:background .3s ease;width:40px}.close-btn:hover{background:#e9ecef}.item-detail-body{flex:1 1;overflow-y:auto;padding:20px}.item-image{border-radius:10px;height:250px;margin-bottom:20px;overflow:hidden;width:100%}.item-image img{height:100%;object-fit:cover;width:100%}.placeholder-image{color:#ccc;font-size:64px}.item-info{flex-direction:column;gap:20px}.item-info h3{border-bottom:2px solid #4caf50;color:#333;font-size:18px;margin:0 0 10px;padding-bottom:5px}.item-description p{color:#666;font-size:16px;line-height:1.6;margin:0}.category-tag{background:#4caf50;border-radius:20px;color:#fff;font-size:12px;font-weight:600;padding:5px 12px;text-transform:uppercase}.item-ingredients ul,.menu-items ul{color:#666;margin:0;padding-left:20px}.item-ingredients li,.menu-items li{line-height:1.4;margin-bottom:5px}.item-price{background:#f8f9fa;border-radius:10px;padding:15px;text-align:center}.price-value{color:#e74c3c;font-size:24px;font-weight:700}.quantity-selector{background:#f8f9fa;border-radius:10px;padding:15px}.quantity-controls{justify-content:center;margin-top:10px}.quantity-btn{border:2px solid #4caf50;border-radius:50%;color:#4caf50;font-size:18px;font-weight:600;height:40px;transition:all .3s ease;width:40px}.quantity-btn:hover{background:#4caf50;color:#fff}.quantity-value{color:#333;font-size:20px;font-weight:600;min-width:30px;text-align:center}.item-detail-footer{background:#f8f9fa;border-top:1px solid #e9ecef;display:flex;gap:15px;padding:20px}.cancel-btn{background:#fff;border:2px solid #6c757d;border-radius:8px;color:#6c757d;cursor:pointer;flex:1 1;font-weight:600;padding:12px;transition:all .3s ease}.cancel-btn:hover{background:#6c757d;color:#fff}.add-to-cart-btn{border-radius:8px;flex:2 1}.loading-spinner{margin:0 auto 20px}.error-message{background:#fdf2f2;border:1px solid #fecaca;color:#e74c3c;text-align:center}@media (max-width:768px){.item-detail-modal{padding:10px}.item-detail-content{max-height:95vh}.item-detail-header h2{font-size:20px}.item-image{height:200px}.item-detail-footer{flex-direction:column}.add-to-cart-btn,.cancel-btn{flex:none}}.feedback-form{padding:0}.feedback-form h3{color:#333;font-size:1.4rem;font-weight:600;margin-bottom:10px}.feedback-description{color:#666;font-size:.95rem;line-height:1.5;margin-bottom:20px}.form-group{margin-bottom:20px}.form-group label{margin-bottom:8px}.star-rating{align-items:center;display:flex;gap:5px;margin-bottom:10px}.star{background:none;border:none;color:#ddd;cursor:pointer;font-size:2rem;line-height:1;padding:0;transition:color .2s ease}.star.active,.star:hover{color:#ffc107}.star:disabled{cursor:not-allowed;opacity:.6}.rating-text{color:#666;font-size:.9rem;font-weight:500;margin-left:10px}textarea{border:2px solid #e1e5e9;border-radius:8px;font-family:inherit;font-size:.95rem;min-height:100px;padding:12px;resize:vertical;transition:border-color .2s ease;width:95%}textarea:focus{border-color:#007bff;outline:none}textarea:disabled{background-color:#f8f9fa;cursor:not-allowed}.char-count{color:#666;font-size:.8rem}.error-message{background-color:#f8d7da;border-radius:6px;color:#721c24;font-size:.9rem;margin-bottom:15px;padding:10px}.form-actions{text-align:right}.submit-btn{background:linear-gradient(135deg,#007bff,#0056b3);font-size:1rem;font-weight:500;min-width:120px;padding:12px 24px;transition:all .2s ease}.submit-btn:hover:not(:disabled){background:linear-gradient(135deg,#0056b3,#004085);transform:translateY(-1px)}.submit-btn:disabled{background:#6c757d;transform:none}.existing-feedback{text-align:center}.existing-feedback h3{color:#28a745;margin-bottom:15px}.feedback-display{background:#f8f9fa;border-left:4px solid #28a745;border-radius:8px;padding:20px}.rating-display{align-items:center;display:flex;gap:5px;justify-content:center;margin-bottom:15px}.star-display{color:#ddd;font-size:1.8rem}.star-display.active{color:#ffc107}.comment-display{margin-bottom:15px;text-align:left}.comment-display strong{color:#333;display:block;margin-bottom:5px}.comment-display p{color:#666;font-style:italic;line-height:1.5;margin:0}.feedback-date{color:#666;font-size:.9rem;font-style:italic}.no-feedback-message{background:#f8f9fa;border:2px dashed #dee2e6;border-radius:8px;color:#666;padding:20px;text-align:center}.loading{padding:20px}.spinner{border:2px solid #f3f3f3;border-top-color:#007bff;height:20px;margin:0 auto 10px;width:20px}.loading p{color:#666;margin:0}@media (max-width:768px){.feedback-form-container{margin-top:15px;padding:15px}.star,.star-display{font-size:1.5rem}.submit-btn{padding:14px;width:100%}.form-actions{text-align:center}}.order-status-card{background:#fff;display:flex;flex-direction:column;height:100%;overflow:hidden;width:100%}.header{align-items:center;background:linear-gradient(135deg,#4caf50,#2e7d32);color:#fff;display:flex;justify-content:space-between;padding:20px}.header h2{font-size:24px;font-weight:600;margin:0}.back-btn{background:#fff3;border:1px solid #ffffff4d;padding:8px 16px}.back-btn:hover{background:#ffffff4d}.order-info{border-bottom:1px solid #e9ecef;padding:20px;width:100%}.info-row{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.info-row:last-child{margin-bottom:0}.label{color:#666;font-weight:600}.value{color:#333;font-weight:500}.value.price{color:#e74c3c;font-size:18px;font-weight:700}.status-section{align-items:center;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;padding:20px}.status-section h3{color:#333;flex-shrink:0;font-size:18px;margin:0}.current-status{border-radius:25px;color:#fff;display:inline-block;font-size:16px;font-weight:600;min-width:150px;padding:12px 24px;text-align:center}.waiter-response-banner{border-left:4px solid;border-radius:8px;margin-top:15px;padding:15px}.waiter-response-banner.approved{background-color:#e8f5e8;border-left-color:#4caf50}.waiter-response-banner.rejected{background-color:#ffeaea;border-left-color:#f44336}.banner-content h4{font-size:16px;font-weight:600;margin:0 0 8px}.banner-content p{color:#666;font-size:14px;margin:0 0 12px}.banner-actions{display:flex;flex-wrap:wrap;gap:10px}.confirm-btn{background:#4caf50;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:background-color .3s ease}.confirm-btn:hover{background:#45a049}.edit-btn{background:#ff9800;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:background-color .3s ease}.edit-btn:hover{background:#f57c00}.remove-item-btn{background:#f44336;border:none;border-radius:4px;color:#fff;cursor:pointer;display:inline-block;font-size:13px;font-weight:500;margin-top:8px;padding:6px 12px;transition:all .3s ease}.remove-item-btn:hover{background:#d32f2f;transform:translateY(-1px)}.remove-item-btn:active{transform:translateY(0)}.item-status-single{margin-top:8px}.combo-items-container{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;margin-top:12px;padding:12px}.combo-header{align-items:center;border-bottom:1px solid #dee2e6;display:flex;justify-content:space-between;margin-bottom:10px;padding-bottom:8px}.combo-status-label{color:#495057;font-size:13px;font-weight:500}.combo-items-list{display:flex;flex-direction:column;gap:8px}.combo-item{align-items:center;background:#fff;border:1px solid #e9ecef;border-radius:6px;display:flex;justify-content:space-between;padding:8px 12px}.combo-item-name{color:#495057;font-size:13px;font-weight:500}.cart-section{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;margin-top:20px;padding:15px}.cart-section h4{color:#333;font-size:16px;margin:0 0 15px}.cart-items{max-height:200px}.cart-item{background:#fff;border:1px solid #e9ecef;border-radius:6px;margin-bottom:8px;padding:10px}.cart-item img{border-radius:4px;height:50px;margin-right:10px;object-fit:cover;width:50px}.cart-item-details{flex:1 1}.cart-item-details h6{color:#333;font-size:14px;margin:0 0 4px}.cart-item-details p{color:#666;font-size:12px;margin:0}.cart-note{color:#888!important;font-style:italic}.cart-item-controls{align-items:center;display:flex;gap:8px}.cart-quantity{align-items:center;display:flex;gap:4px}.cart-quantity button{align-items:center;background:#fff;border:1px solid #ddd;border-radius:4px;cursor:pointer;display:flex;font-size:12px;height:24px;justify-content:center;width:24px}.cart-quantity button:hover{background:#f0f0f0}.cart-quantity span{font-size:12px;min-width:20px;text-align:center}.remove-cart-item-btn{align-items:center;background:#f44336;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-size:10px;height:24px;justify-content:center;width:24px}.remove-cart-item-btn:hover{background:#d32f2f}.cart-total{border-top:1px solid #e9ecef;color:#333;font-size:14px;margin-top:10px;padding-top:10px;text-align:right}.add-to-cart-btn{background:#4caf50;font-size:14px;font-weight:500;margin-right:10px;padding:10px 20px;transition:background-color .3s ease}.add-to-cart-btn:hover{background:#45a049}.selected-items-section{background:#e8f5e8;border:1px solid #4caf50;border-radius:8px;margin-top:20px;padding:15px}.selected-items-section h4{color:#2e7d32;font-size:16px;margin:0 0 15px}.selected-items-list{max-height:200px}.selected-item-card{align-items:flex-start;background:#fff;border:1px solid #c8e6c9;border-radius:8px;display:flex;gap:15px;margin-bottom:12px;padding:15px}.selected-item-card img{border-radius:6px;flex-shrink:0;height:60px;object-fit:cover;width:60px}.selected-item-details{flex:1 1}.selected-item-details h6{color:#333;font-size:16px;font-weight:600;margin:0 0 6px}.selected-item-details p{color:#666;font-weight:500;margin:0 0 10px}.selected-item-note-section{margin-top:8px}.selected-item-note-section label{color:#666;display:block;font-size:12px;font-weight:500;margin-bottom:4px}.selected-note-textarea{border:1px solid #ddd;border-radius:4px;font-family:inherit;font-size:12px;min-height:40px;padding:8px;resize:vertical;width:100%}.selected-note-textarea:focus{border-color:#4caf50;box-shadow:0 0 0 2px #4caf5033;outline:none}.selected-item-controls{align-items:center;display:flex;flex-direction:column;gap:12px;min-width:120px}.selected-quantity{text-align:center}.selected-quantity label{color:#666;display:block;font-size:12px;font-weight:500;margin-bottom:6px}.quantity-buttons{gap:8px;justify-content:center}.quantity-buttons button{align-items:center;background:#fff;border:1px solid #4caf50;border-radius:6px;color:#4caf50;display:flex;font-weight:700;height:32px;justify-content:center;transition:all .2s ease;width:32px}.quantity-buttons button:hover{background:#e8f5e8;transform:scale(1.05)}.quantity-buttons button:active{transform:scale(.95)}.quantity-buttons span{color:#333;font-size:16px;font-weight:700;min-width:30px}.remove-selected-item-btn{background:#f44336;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:12px;font-weight:500;padding:8px 16px;transition:all .2s ease;width:100%}.remove-selected-item-btn:hover{background:#d32f2f;transform:translateY(-1px)}.remove-selected-item-btn:active{transform:translateY(0)}.selected-items-total{border-top:1px solid #4caf50;color:#2e7d32;font-size:14px;margin-top:10px;padding-top:10px;text-align:right}.item-controls{background:#f8f9fa;border-top:1px solid #e9ecef;margin-top:10px;padding:10px}.item-controls .quantity-controls{align-items:center;display:flex;gap:8px;margin-bottom:8px}.item-controls .quantity-controls button{align-items:center;background:#fff;border:1px solid #4caf50;border-radius:4px;color:#4caf50;cursor:pointer;display:flex;font-size:14px;font-weight:700;height:28px;justify-content:center;width:28px}.item-controls .quantity-controls button:hover{background:#e8f5e8}.item-controls .quantity-controls span{font-size:14px;font-weight:700;min-width:30px;text-align:center}.note-textarea-small{border:1px solid #ddd;border-radius:4px;font-size:12px;margin-bottom:8px;padding:6px;resize:vertical;width:100%}.remove-selected-btn{background:#f44336;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:12px;padding:4px 8px;width:100%}.remove-selected-btn:hover{background:#d32f2f}.add-selected-btn{background:#4caf50;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:12px;font-weight:500;margin-top:10px;padding:8px 12px;transition:background-color .3s ease;width:100%}.add-selected-btn:hover{background:#45a049}.item-card,.menu-card{position:relative}.item-card:hover,.menu-card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.item-card.selected,.menu-card.selected{background:#f8fff8;border:2px solid #4caf50;box-shadow:0 4px 12px #4caf504d;transform:translateY(-2px)}.selected-indicator{background:#4caf50;border-radius:12px;color:#fff;font-size:12px;font-weight:500;padding:4px 8px;position:absolute;right:10px;top:10px;z-index:10}.modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.waiter-response-modal{animation:modalSlideIn .3s ease-out;background:#fff;border-radius:12px;box-shadow:0 8px 32px #0000004d;display:flex;flex-direction:column;max-height:80vh;max-width:500px;overflow:hidden;width:90%}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.9) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.waiter-response-modal .modal-header{align-items:center;border-bottom:1px solid #eee;display:flex;justify-content:space-between;padding:20px 24px 16px}.waiter-response-modal .modal-header h3{color:#333;font-size:20px;font-weight:600;margin:0}.close-modal-btn{align-items:center;background:none;border:none;border-radius:50%;color:#999;cursor:pointer;display:flex;font-size:24px;height:32px;justify-content:center;padding:0;transition:all .2s ease;width:32px}.close-modal-btn:hover{background:#f5f5f5;color:#666}.waiter-response-modal .modal-body{flex:1 1;overflow-y:auto;padding:20px 24px}.waiter-response-modal .modal-body p{color:#555;font-size:16px;line-height:1.5;margin:0 0 12px}.waiter-response-modal .modal-body p:last-child{margin-bottom:0}.waiter-response-modal .modal-footer{display:flex;gap:12px;justify-content:flex-end;padding:16px 24px 24px}.edit-order-btn{background:#ff9800;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:12px 24px;transition:all .2s ease}.edit-order-btn:hover{background:#f57c00;transform:translateY(-1px)}.confirm-order-btn{background:#4caf50;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:12px 24px;transition:all .2s ease}.confirm-order-btn:hover{background:#45a049;transform:translateY(-1px)}.order-review-section{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;margin-top:20px;padding:16px}.order-review-section h4{color:#333;font-size:16px;font-weight:600;margin:0 0 16px}.order-items-review{margin-bottom:16px;max-height:300px;overflow-y:auto;padding-right:8px}.order-items-review::-webkit-scrollbar{width:6px}.order-items-review::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.order-items-review::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}.order-items-review::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.review-item{background:#fff;border:1px solid #dee2e6;border-radius:6px;margin-bottom:8px;padding:12px}.review-item:last-child{margin-bottom:0}.review-item .item-info{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.review-item .item-name{color:#333;font-size:14px;font-weight:600}.review-item .item-price{color:#dc3545;font-size:14px;font-weight:600}.review-item .item-details{color:#666;display:flex;flex-wrap:wrap;font-size:12px;gap:12px}.review-item .item-note,.review-item .item-quantity,.review-item .item-type{background:#f8f9fa;border:1px solid #e9ecef;border-radius:4px;padding:4px 8px}.review-item .item-note{background:#fff3cd;border-color:#ffeaa7;color:#856404}.order-total-review{border-top:2px solid #dee2e6;color:#dc3545;font-size:16px;padding-top:12px;text-align:right}.pending-changes-section{background:#fff3cd;border:1px solid #ffeaa7;border-radius:8px;margin:20px 0;padding:20px}.pending-changes-section h4{color:#856404;font-size:16px;margin:0 0 15px}.pending-add,.pending-remove{margin-bottom:15px}.pending-add strong,.pending-remove strong{color:#856404;font-size:14px}.pending-add ul,.pending-remove ul{margin:8px 0 0 20px;padding:0}.pending-add li,.pending-remove li{color:#856404;font-size:14px;margin:4px 0}.pending-actions{display:flex;gap:12px;margin-top:15px}.send-request-btn{background:#28a745;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:12px 24px;transition:all .2s ease}.send-request-btn:hover{background:#218838;transform:translateY(-1px)}.cancel-changes-btn{background:#dc3545;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:12px 24px;transition:all .2s ease}.cancel-changes-btn:hover{background:#c82333;transform:translateY(-1px)}.temporary-item{background:#f8fff8!important;border:2px solid #28a745!important;position:relative}.temporary-item:before{background:#28a745;border-radius:12px;color:#fff;content:"MỚI";font-size:10px;font-weight:700;padding:2px 8px;position:absolute;right:-8px;top:-8px;z-index:10}.temp-indicator{color:#28a745;font-size:12px;font-weight:700}.quantity-controls{display:inline-flex;gap:8px;margin-left:8px}.quantity-btn{align-items:center;background:#fff;border:1px solid #ddd;border-radius:4px;cursor:pointer;display:flex;font-size:16px;font-weight:700;height:28px;justify-content:center;transition:all .2s ease;width:28px}.quantity-btn:hover{background:#f8f9fa;border-color:#007bff}.quantity-btn:active{transform:scale(.95)}.quantity-btn:disabled{background:#f8f9fa;border-color:#dee2e6;cursor:not-allowed;opacity:.5}.quantity-btn:disabled:hover{background:#f8f9fa;transform:none}.quantity-input{height:28px}.quantity-display{font-weight:600;margin-left:8px}.order-items{border-bottom:1px solid #e9ecef;padding:20px}.order-items h3{color:#333;font-size:18px;margin:0 0 15px}.order-items-header{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;margin-bottom:15px}.order-items-header h3{color:#333;font-size:18px;margin:0}.header-actions{flex-wrap:wrap}.items-list{display:flex;flex-direction:column;gap:12px}.order-item{background:#f8f9fa;border-left:4px solid #4caf50;border-radius:8px;padding:15px}.item-info{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.item-name,.item-price{font-weight:600}.item-price{color:#e74c3c}.item-quantity{color:#666;font-size:14px}.item-type{color:#4caf50;font-size:12px;font-weight:600;margin-top:4px}.actions{padding:20px;text-align:center}.action-buttons{display:flex;flex-wrap:wrap;gap:15px;justify-content:center}.refresh-btn{background:#28a745;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:12px 24px;transition:all .3s ease}.refresh-btn:hover{background:#218838;transform:translateY(-2px)}.refresh-btn:disabled{background:#6c757d!important;cursor:not-allowed;opacity:.6}.refresh-btn:disabled:hover{background:#6c757d!important;transform:none!important}.refresh-btn.waiting-waiter{background:#28a745!important;color:#fff!important}.refresh-btn.waiting-waiter:hover{background:#218838!important;transform:translateY(-2px)!important}.add-item-btn{background:#4caf50;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:all .3s ease}.add-item-btn:hover{background:#45a049;transform:translateY(-2px)}.request-payment-btn{background:#ff9800;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:all .3s ease;white-space:nowrap}.request-payment-btn:hover{background:#f57c00;box-shadow:0 4px 12px #ff98004d;transform:translateY(-2px)}.request-payment-btn:disabled{background:#6c757d!important;cursor:not-allowed;opacity:.6}.request-payment-btn:disabled:hover{background:#6c757d!important;box-shadow:none!important;transform:none!important}.loading{padding:40px;text-align:center}.spinner{animation:spin 1s linear infinite;border:4px solid #f3f3f3;border-radius:50%;border-top-color:#4caf50;height:40px;margin:0 auto 20px;width:40px}.error{color:#dc3545;padding:40px;text-align:center}.retry-btn{background:#dc3545;border-radius:6px}.retry-btn:hover{background:#c82333}@media (max-width:768px){.order-status-card{margin:10px}.header{flex-direction:column;gap:15px;text-align:center}.info-row,.item-info{align-items:flex-start;flex-direction:column;gap:5px}}.connection-status{flex-direction:column;margin-bottom:15px}.connection-status,.status-indicator{align-items:center;display:flex;gap:8px}.status-indicator{border-radius:20px;font-size:14px;font-weight:500;padding:8px 16px;transition:all .3s ease}.status-indicator.connected{background:#e8f5e8;border:1px solid #4caf50;color:#2e7d32}.status-indicator.connecting,.status-indicator.reconnecting{background:#fff3e0;border:1px solid #ff9800;color:#f57c00}.status-indicator.reconnecting{animation:pulse 1.5s infinite}.status-indicator.disconnected{background:#ffebee;border:1px solid #f44336;color:#c62828}.new-update-indicator{animation:fadeInOut 2s ease-in-out;color:#4caf50;font-size:12px}@keyframes fadeInOut{0%,to{opacity:0}50%{opacity:1}}.item-status{color:#666;font-size:14px;margin-top:4px}.status-badge{color:#fff;font-size:12px}.status-pending{background-color:#ffc107}.status-preparing{background-color:#17a2b8}.status-ready{background-color:#28a745}.status-served{background-color:#6f42c1}.new-update-indicator{animation:pulse 1s ease-in-out;color:#ff9800;font-weight:600}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.add-item-modal{align-items:center;background:#00000080;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:1000}.add-item-modal-content{background:#fff;border-radius:12px;box-shadow:0 10px 30px #0000004d;max-height:85vh;max-width:1200px;overflow-y:auto;width:95%}.modal-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:20px 24px}.modal-header h3{color:#333;font-size:20px;margin:0}.modal-header .close-btn{background:none;border:none;border-radius:4px;color:#999;cursor:pointer;font-size:24px;padding:4px}.modal-header .close-btn:hover{background:#f5f5f5;color:#666}.modal-body{padding:20px 24px}.modal-tabs{border-bottom:2px solid #e0e0e0;display:flex;margin-bottom:20px}.tab-btn{background:none;border:none;border-bottom:3px solid #0000;color:#666;cursor:pointer;font-size:16px;font-weight:500;padding:12px 24px;transition:all .3s ease}.tab-btn:hover{background:#f8f9fa;color:#4caf50}.tab-btn.active{border-bottom-color:#4caf50;color:#4caf50;font-weight:600}.tab-content{min-height:400px}.item-grid,.menu-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.item-card,.menu-card{background:#fff;border:2px solid #0000;border-radius:12px;box-shadow:0 4px 12px #0000001a;cursor:pointer;overflow:hidden;transition:all .3s ease}.item-card:hover,.menu-card:hover{border-color:#4caf50;box-shadow:0 8px 20px #00000026;transform:translateY(-4px)}.item-card.selected,.menu-card.selected{border-color:#4caf50;box-shadow:0 8px 20px #4caf504d}.item-image,.menu-image{height:180px;overflow:hidden;width:100%}.item-image img,.menu-image img{height:100%;object-fit:cover;transition:transform .3s ease;width:100%}.item-card:hover .item-image img,.menu-card:hover .menu-image img{transform:scale(1.05)}.item-content,.menu-content{padding:16px}.item-content h5,.menu-content h5{color:#333;font-size:16px;font-weight:600;margin:0 0 8px}.item-description,.menu-description{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;color:#666;display:-webkit-box;font-size:14px;line-height:1.4;margin:0 0 12px;overflow:hidden}.item-price,.menu-price{color:#4caf50;font-size:16px;font-weight:700}.quantity-section{border-top:1px solid #e0e0e0}.selected-item-info{margin-bottom:20px}.selected-item-info h4{color:#333;font-size:16px;font-weight:600;margin:0 0 15px}.selected-item{align-items:center;background:#f8f9fa;border:2px solid #4caf50;border-radius:8px;display:flex;gap:15px;padding:15px}.selected-item img{border-radius:6px;height:80px;object-fit:cover;width:80px}.selected-item-details h5{color:#333;font-size:16px;font-weight:600;margin:0 0 5px}.selected-item-details p{color:#4caf50;font-size:14px;font-weight:600;margin:0}.quantity-controls{gap:15px}.quantity-controls label{color:#333;font-weight:600}.quantity-buttons{align-items:center;display:flex;gap:10px}.quantity-buttons button{background:#4caf50;border:none;border-radius:50%;color:#fff;cursor:pointer;font-size:16px;font-weight:600;height:35px;width:35px}.quantity-buttons button:hover{background:#45a049}.quantity-buttons span{font-size:18px;font-weight:600;min-width:40px;text-align:center}.note-section{margin-top:20px}.note-section label{color:#333;display:block;font-weight:600;margin-bottom:8px}.note-textarea{border:2px solid #e0e0e0;border-radius:8px;font-family:inherit;font-size:14px;min-height:80px;padding:12px;resize:vertical;transition:border-color .3s ease;width:100%}.note-textarea:focus{border-color:#4caf50;box-shadow:0 0 0 3px #4caf501a;outline:none}.note-textarea::placeholder{color:#999;font-style:italic}.char-count{color:#999;font-size:12px;margin-top:5px;text-align:right}.modal-footer{border-top:1px solid #e0e0e0;display:flex;gap:12px;justify-content:flex-end;padding:20px 24px}.modal-footer .cancel-btn{background:#f5f5f5;border:none;border-radius:6px;color:#666;cursor:pointer;font-weight:500;padding:10px 20px}.modal-footer .cancel-btn:hover{background:#e0e0e0;color:#333}.modal-footer .confirm-btn{background:#4caf50;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:500;padding:10px 20px}.modal-footer .confirm-btn:hover{background:#45a049}.item-note{color:#666;font-size:12px;font-style:italic;margin-top:5px}.item-statuses{margin-top:10px}.statuses-label{color:#666;font-size:12px;margin-bottom:5px}.statuses-list{display:flex;flex-wrap:wrap;gap:5px}.status-badge{font-size:11px;font-weight:500;letter-spacing:.5px}.status-preparing{background:#d1ecf1;color:#0c5460}.status-ready{background:#d4edda;color:#155724}.status-served{background:#cce5ff;color:#004085}.cancel-order-btn{align-items:center;background:#dc3545;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:5px;padding:10px 20px;transition:all .3s ease}.cancel-order-btn:hover{background:#c82333;box-shadow:0 4px 12px #dc35454d;transform:translateY(-2px)}.feedback-modal{align-items:center;background:#00000080;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:1000}.feedback-modal-content{background:#fff;border-radius:12px;box-shadow:0 10px 30px #0000004d;max-height:80vh;max-width:800px;overflow-y:auto;width:90%}.feedback-modal-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:20px}.feedback-modal-header h3{color:#333;font-size:18px;margin:0}.close-feedback-btn{align-items:center;background:none;border:none;border-radius:50%;color:#666;cursor:pointer;display:flex;font-size:24px;height:30px;justify-content:center;padding:0;transition:all .3s ease;width:30px}.close-feedback-btn:hover{background:#f0f0f0;color:#333}.feedback-modal-body{padding:20px}.feedback-btn{align-items:center;background:#17a2b8;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:5px;margin-left:10px;padding:12px 24px;transition:all .3s ease}.feedback-btn:hover{background:#138496;box-shadow:0 4px 12px #17a2b84d;transform:translateY(-2px)}.back-to-menu-btn{align-items:center;background:#007bff;display:flex;font-size:14px;gap:5px;padding:10px 20px}.back-to-menu-btn:hover{background:#0056b3;box-shadow:0 4px 12px #007bff4d}.user-dropdown{display:inline-block;position:relative}.user-dropdown-toggle{align-items:center;background:#4caf50;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:10px;height:40px;padding:10px 20px;transition:all .3s ease;white-space:nowrap}.user-dropdown-toggle:hover{background:#45a049;box-shadow:0 4px 12px #4caf504d;transform:translateY(-2px)}.user-avatar{align-items:center;background:#fff3;border-radius:50%;display:flex;font-size:14px;font-weight:700;height:32px;justify-content:center;overflow:hidden;width:32px}.user-avatar img{height:100%;object-fit:cover;width:100%}.user-name{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropdown-arrow{font-size:10px;margin-left:4px}.user-dropdown-menu{animation:slideDown .2s ease;background:#fff;border-radius:12px;box-shadow:0 4px 12px #00000026;max-width:400px;min-width:320px;overflow:hidden;position:absolute;right:0;top:calc(100% + 10px);z-index:1000}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.dropdown-section{border-bottom:1px solid #e5e7eb;padding:16px}.dropdown-section:last-child{border-bottom:none}.user-info-section{background:linear-gradient(135deg,#667eea,#764ba2);border-bottom:none;color:#fff}.user-header{align-items:center;display:flex;gap:12px}.user-avatar-large{align-items:center;background:#fff3;border-radius:50%;display:flex;flex-shrink:0;font-size:24px;font-weight:700;height:60px;justify-content:center;overflow:hidden;width:60px}.user-avatar-large img{height:100%;object-fit:cover;width:100%}.user-details{flex:1 1;min-width:0}.user-details h3{font-size:18px;font-weight:600;margin:0 0 4px}.user-details h3,.user-details p{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-details p{font-size:13px;margin:2px 0;opacity:.9}.loyalty-section{background:#f8f9fa}.loyalty-item{align-items:center;display:flex;justify-content:space-between;padding:8px 0}.loyalty-item:not(:last-child){border-bottom:1px solid #e5e7eb}.loyalty-label{color:#6c757d;font-size:14px}.loyalty-value{color:#333;font-size:14px;font-weight:600}.loyalty-rank{font-size:14px}.menu-section{padding:8px}.dropdown-item{align-items:center;background:none;border:none;border-radius:8px;color:#333;cursor:pointer;display:flex;font-size:14px;gap:12px;margin-bottom:4px;padding:12px 16px;text-align:left;transition:all .2s ease;width:100%}.dropdown-item:hover{background:#f3f4f6}.dropdown-item.logout-item{color:#dc3545}.dropdown-item.logout-item:hover{background:#fee;color:#c82333}.item-icon{font-size:18px;text-align:center;width:24px}.edit-form-section{background:#f8f9fa}.form-group{margin-bottom:16px}.form-group label{color:#333;display:block;font-size:13px;margin-bottom:6px}.form-group input{box-sizing:border-box;font-size:14px;padding:10px;width:100%}.form-group small{display:block;margin-top:4px}.form-error{background:#fee;border-radius:6px;color:#c82333;font-size:13px;margin-bottom:12px;padding:10px}.form-actions{display:flex;gap:8px}.cancel-btn,.save-btn{border:none;border-radius:6px;cursor:pointer;flex:1 1;font-size:14px;font-weight:500;padding:10px;transition:all .2s ease}.save-btn{background:#4caf50;color:#fff}.save-btn:hover:not(:disabled){background:#45a049}.save-btn:disabled{cursor:not-allowed;opacity:.6}.cancel-btn{background:#e5e7eb;color:#333}.cancel-btn:hover{background:#d1d5db}@media (max-width:768px){.user-dropdown-menu{left:0;min-width:280px;right:auto}.user-name{display:none}}.menu-loading,.menu-view{background:#f8f9fa;min-height:100vh}.menu-loading{align-items:center;display:flex;flex-direction:column;justify-content:center}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #f3f3f3;border-radius:50%;border-top-color:#4caf50;height:40px;margin-bottom:20px;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.menu-error{background:#f8f9fa;flex-direction:column;justify-content:center;min-height:100vh}.menu-error,.menu-header{align-items:center;display:flex}.menu-header{background:#fff;box-shadow:0 2px 4px #0000001a;justify-content:space-between;padding:20px;position:-webkit-sticky;position:sticky;top:0;z-index:100}.header-info h1{color:#333;font-size:24px;margin:0}.header-info p{color:#666;font-size:16px;margin:5px 0 0}.header-actions{align-items:center;display:flex;gap:10px;height:60px}.guest-actions,.user-info{align-items:center;display:flex;gap:12px}.welcome-text{color:#4caf50;font-size:14px;font-weight:500}.order-history-btn{align-items:center;background:#17a2b8;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;height:40px;justify-content:center;margin:0;padding:10px 20px;transition:all .3s ease;white-space:nowrap}.order-history-btn:hover{background:#138496;box-shadow:0 4px 12px #17a2b84d;transform:translateY(-2px)}.login-btn{align-items:center!important;background:#4caf50;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;height:40px;justify-content:center;margin:0!important;padding:10px 20px;transition:all .3s ease;white-space:nowrap}.login-btn:hover{background:#45a049;box-shadow:0 4px 12px #4caf504d;transform:translateY(-2px)}.guest-order-history-btn{align-items:center;background:#17a2b8;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;height:40px;justify-content:center;margin:0;padding:10px 20px;transition:all .3s ease;white-space:nowrap}.guest-order-history-btn:hover{background:#138496;box-shadow:0 4px 12px #17a2b84d;transform:translateY(-2px)}.logout-btn{align-items:center;background:#f44336;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;height:40px;justify-content:center;margin:0;padding:10px 20px;transition:all .3s ease;white-space:nowrap}.logout-btn:hover{background:#d32f2f;box-shadow:0 4px 12px #f443364d;transform:translateY(-2px)}.preorder-btn{align-items:center;background:#4caf50;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;height:40px;justify-content:center;margin:0;padding:10px 20px;transition:all .3s ease;white-space:nowrap}.preorder-btn:hover{background:#45a049;box-shadow:0 4px 12px #4caf504d;transform:translateY(-2px)}.back-btn,.cart-btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;font-size:14px;font-weight:600;height:40px;justify-content:center;margin:0;padding:10px 20px;transition:all .3s ease;white-space:nowrap}.cart-btn{background:#4caf50;color:#fff}.cart-btn:hover{background:#45a049;box-shadow:0 4px 12px #4caf504d;transform:translateY(-2px)}.menu-tabs{background:#fff;border-bottom:1px solid #e9ecef;display:flex;position:-webkit-sticky;position:sticky;top:80px;z-index:99}.menu-tabs button{background:none;border:none;color:#666;cursor:pointer;flex:1 1;font-size:16px;font-weight:600;padding:15px;transition:all .3s ease}.menu-tabs button.active{border-bottom:3px solid #4caf50;color:#4caf50}.menu-content{padding:20px}.price-filter{background:#fff;border-radius:12px;box-shadow:0 2px 4px #0000001a;margin-bottom:20px;padding:20px}.price-filter h3{color:#333;font-size:18px;margin:0 0 15px}.filter-buttons{display:flex;flex-wrap:wrap;gap:10px}.filter-buttons button{background:#fff;border:2px solid #e9ecef;border-radius:25px;color:#666;cursor:pointer;font-size:14px;font-weight:600;padding:10px 16px;transition:all .3s ease}.filter-buttons button:hover{border-color:#4caf50;color:#4caf50}.filter-buttons button.active{background:#4caf50;border-color:#4caf50;color:#fff}.item-filters{align-items:end;background:#fff;border-radius:12px;box-shadow:0 2px 4px #0000001a;display:flex;gap:20px;margin-bottom:20px;padding:20px}.filter-group label{color:#333}.filter-select{border:2px solid #e9ecef;color:#333;transition:border-color .3s ease}.filter-select:focus,.filter-select:hover{border-color:#4caf50}.menu-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin:0;max-width:100%;width:100%}.menu-view .menu-card{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;display:flex;flex-direction:column;height:auto!important;max-height:none!important;min-height:auto!important;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease}.menu-card:hover{box-shadow:0 8px 15px #00000026;transform:translateY(-4px)}.menu-image{height:200px;overflow:hidden;position:relative}.menu-image.clickable{cursor:pointer;transition:transform .3s ease}.menu-image.clickable:hover{transform:scale(1.05)}.view-detail-overlay{align-items:center;background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s ease}.menu-image.clickable:hover .view-detail-overlay{opacity:1}.view-detail-overlay span{color:#fff;font-size:16px;font-weight:600}.menu-image img{height:100%;object-fit:cover;width:100%}.placeholder-image{align-items:center;background:#f8f9fa;display:flex;font-size:48px;height:100%;justify-content:center;width:100%}.menu-view .menu-info{display:flex;flex:1 1;flex-direction:column;padding:20px}.menu-info h3{color:#333;font-size:18px;margin:0 0 10px}.menu-info h3.clickable{cursor:pointer;transition:color .3s ease}.menu-info h3.clickable:hover{color:#4caf50}.menu-description{color:#666;flex:1 1;font-size:14px;line-height:1.4;margin:0 0 10px}.menu-category{color:#4caf50;font-size:12px;font-weight:600;margin-bottom:10px;text-transform:uppercase}.menu-view .menu-price{color:#e74c3c!important;display:block!important;flex-shrink:0;font-size:20px;font-weight:700;height:auto!important;margin-bottom:15px;text-align:left!important}.menu-view .menu-actions{display:flex!important;flex-shrink:0;gap:10px;margin-top:15px;position:relative!important;width:100%!important}.menu-view .menu-actions,.view-detail-btn{opacity:1!important;visibility:visible!important}.view-detail-btn{background:#4caf50;border:none;border-radius:6px;color:#fff;cursor:pointer;display:block!important;flex:1 1;font-weight:600;padding:12px;transition:background .3s ease}.view-detail-btn:hover{background:#2e7d32}.add-to-cart-btn{background:#28a745;border:none;border-radius:6px;color:#fff;cursor:pointer;display:block!important;flex:1 1;font-weight:600;opacity:1!important;padding:12px;transition:background .3s ease;visibility:visible!important}.add-to-cart-btn:hover{background:#218838}.cart-modal{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.cart-content{background:#fff;border-radius:12px;display:flex;flex-direction:column;max-height:80vh;max-width:500px;overflow:hidden;width:90%}.cart-header{align-items:center;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;padding:20px}.cart-header h3{color:#333;margin:0}.close-btn{aspect-ratio:1/1!important;background:#dc3545!important;border:1px solid #dc3545!important;border-radius:8px!important;box-shadow:0 1px 3px #00000014!important;color:#fff!important;cursor:pointer!important;display:grid!important;flex-shrink:0!important;font-size:1rem!important;font-weight:700!important;height:32px!important;margin:0!important;overflow:hidden!important;padding:0!important;place-items:center!important;transition:all .3s ease!important;width:32px!important}.close-btn:active{transform:scale(.98)}.close-btn:focus{outline:3px solid Highlight;outline-offset:2px}.close-btn:hover{background:#c82333;border-color:#c82333}.cart-items{flex:1 1;overflow-y:auto;padding:20px}.cart-item{align-items:center;border-bottom:1px solid #f8f9fa;display:flex;justify-content:space-between;padding:15px 0}.item-info h4{color:#333;font-size:16px;margin:0 0 5px}.item-info p{color:#666;font-size:14px;margin:0}.note-input-container{margin-top:8px}.note-input{background:#f9f9f9;border:1px solid #ddd;border-radius:6px;font-family:inherit;font-size:13px;padding:8px 12px;transition:all .3s ease;width:100%}.note-input:focus{background:#fff;border-color:#4caf50;box-shadow:0 0 0 2px #4caf501a;outline:none}.note-input::placeholder{color:#999;font-style:italic}.item-controls{align-items:center;display:flex;gap:10px}.item-controls button{align-items:center;background:#fff;border:1px solid #ddd;border-radius:4px;cursor:pointer;display:flex;height:30px;justify-content:center;width:30px}.item-controls span{font-weight:600;min-width:30px;text-align:center}.quantity-input{background:#fff;border:1px solid #ddd;border-radius:4px;font-size:14px;font-weight:600;height:30px;text-align:center;transition:border-color .2s ease;width:50px}.quantity-input:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff40;outline:none}.quantity-input:hover{border-color:#007bff}.remove-btn{background:#dc3545!important;border:none!important;color:#fff!important;font-size:12px;height:auto!important;padding:5px 10px;width:auto!important}.cart-footer{background:#f8f9fa;border-top:1px solid #e9ecef;padding:20px}.total-price{color:#333;font-size:18px;font-weight:700;margin-bottom:15px;text-align:center}.order-btn{background:#28a745;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:15px;transition:background .3s ease;width:100%}.order-btn:hover{background:#218838}@media (max-width:768px){.menu-header{flex-direction:column;gap:15px;text-align:center}.header-actions{width:100%}.filter-buttons,.header-actions{justify-content:center}.filter-buttons button{flex:1 1;font-size:12px;min-width:80px;padding:8px 12px}.item-filters{flex-direction:column;gap:15px}.filter-group{width:100%}.menu-grid{gap:15px;grid-template-columns:1fr}.cart-content{margin:20px;width:95%}}.guest-order-history{background:#f8f9fa;margin:0 auto;max-width:1200px;min-height:100vh;padding:20px}.guest-order-history-header{align-items:center;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;display:flex;justify-content:space-between;margin-bottom:30px;padding:20px}.guest-order-history-header h2{color:#2c3e50;font-size:24px;margin:0}.back-btn{font-weight:600}.back-btn:hover{box-shadow:0 4px 12px #6c757d4d;transform:translateY(-2px)}.error,.loading,.no-orders{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:60px 20px;text-align:center}.error p,.loading p{color:#6c757d;font-size:18px;margin:0}.retry-btn{background:#007bff;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;margin-top:15px;padding:10px 20px;transition:all .3s ease}.retry-btn:hover{background:#0056b3;box-shadow:0 4px 12px #007bff4d;transform:translateY(-2px)}.no-orders{padding:80px 20px;text-align:center}.no-orders-icon{font-size:64px;margin-bottom:20px}.no-orders h3{color:#2c3e50;font-size:24px;margin:0 0 10px}.no-orders p{color:#6c757d;font-size:16px;margin:0 0 30px}.back-to-menu-btn{background:#28a745;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:12px 24px;transition:all .3s ease}.back-to-menu-btn:hover{background:#218838;box-shadow:0 4px 12px #28a7454d;transform:translateY(-2px)}.orders-section{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;overflow:hidden}.orders-info{background:#e9ecef;border-bottom:1px solid #dee2e6;color:#6c757d;font-size:14px;padding:20px}.orders-list{display:flex;flex-direction:column;gap:0}.order-card{background:#fff;border-bottom:1px solid #e9ecef;transition:all .3s ease}.order-card:last-child{border-bottom:none}.order-card:hover,.order-header{background:#f8f9fa}.order-header{align-items:center;border-bottom:1px solid #e9ecef;display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;padding:12px 20px}.order-info{flex-shrink:0;max-width:30%;min-width:60px}.order-info-compact{flex-shrink:0;max-width:100%;min-width:60px}.order-info-compact h3{color:#2c3e50;font-size:50px;line-height:1.1;margin:0 0 2px}.order-info-compact .order-date{color:#6c757d;font-size:20px;line-height:1.1;margin:0}.order-info h3{color:#2c3e50;font-size:30px;line-height:1.1;margin:0 0 2px}.order-date{color:#6c757d;font-size:20px;line-height:1.1;margin:0}.order-details-compact{align-items:center;display:flex;flex:1 1;flex-wrap:wrap;gap:10px;min-width:0}.order-detail-item{align-items:center;display:flex;flex-shrink:0;flex-wrap:wrap;gap:4px;min-width:-webkit-fit-content;min-width:fit-content}.detail-label{color:#6c757d;font-size:12px;font-weight:500;white-space:nowrap}.detail-value{color:#2c3e50;font-size:12px;font-weight:600}.order-actions{align-items:center;display:flex;flex-shrink:0;min-width:120px}.status-badge{border-radius:12px;font-size:10px;font-weight:600;letter-spacing:.3px;padding:4px 8px;text-transform:uppercase}.status-pending{background:#fff3cd;color:#856404}.status-preorder{background:#e7f3ff;color:#1976d2}.status-waiting{background:#d1ecf1;color:#0c5460}.status-confirmed{background:#d4edda;color:#155724}.status-preparing{background:#cce5ff;color:#004085}.status-ready{background:#e2e3e5;color:#383d41}.status-served{background:#d1ecf1;color:#0c5460}.status-paid{background:#d4edda;color:#155724}.status-cancelled{background:#f8d7da;color:#721c24}.payment-status{border-radius:12px;font-size:14px;font-weight:600;letter-spacing:.3px;padding:4px 8px;text-transform:uppercase}.payment-status.paid{background:#d4edda;color:#155724}.payment-status.unpaid{background:#f8d7da;color:#721c24}.preorder-badge{background:#e7f3ff;border-left:4px solid #2196f3;border-radius:8px;margin-bottom:8px;padding:8px 12px;width:100%}.preorder-tag{background:#2196f3;border-radius:12px;color:#fff;font-size:12px;font-weight:600;margin-right:8px;padding:4px 10px}.scheduled-time{color:#1976d2;font-size:13px;font-weight:500}.view-order-btn{background:#007bff;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:12px;font-weight:600;min-width:100px;padding:8px 16px;transition:all .3s ease}.view-order-btn:hover{background:#0056b3;box-shadow:0 2px 8px #007bff4d;transform:translateY(-1px)}.filter-controls{align-items:flex-end;background:#f8f9fa;border-bottom:1px solid #dee2e6;display:flex;flex-wrap:wrap;gap:12px;padding:20px}.filter-group{display:flex;flex:1 1;flex-direction:column;gap:8px;max-width:200px;min-width:160px}.filter-group label{color:#2c3e50;font-size:14px;font-weight:600;margin-bottom:4px}.filter-select{background:#fff;border:2px solid #dee2e6;border-radius:8px;box-shadow:0 2px 4px #0000001a;color:#2c3e50;cursor:pointer;font-size:14px;padding:10px 12px;transition:all .3s ease;width:100%}.filter-select:hover{border-color:#007bff;box-shadow:0 4px 8px #007bff33}.filter-select:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff40;outline:none}.clear-filters-btn{align-self:flex-end;background:#6c757d;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;margin-top:24px;padding:10px 20px;transition:all .3s ease}.clear-filters-btn:hover{background:#5a6268;box-shadow:0 4px 12px #6c757d4d;transform:translateY(-2px)}@media (max-width:1400px){.filter-controls{gap:10px}.filter-group{max-width:180px;min-width:150px}}@media (max-width:1200px){.filter-controls{gap:8px}.filter-group{max-width:160px;min-width:140px}}@media (max-width:992px){.filter-controls{gap:6px}.filter-group{max-width:140px;min-width:120px}}@media (max-width:768px){.filter-controls{align-items:stretch;flex-direction:column;gap:15px}.filter-group{flex:none;max-width:none;min-width:auto;width:100%}.clear-filters-btn{align-self:stretch;margin-top:0}.guest-order-history{padding:10px}.guest-order-history-header{flex-direction:column;gap:15px;text-align:center}.order-header{align-items:flex-start;flex-direction:column;gap:10px}.order-info{min-width:auto;width:100%}.order-details-compact{gap:8px;justify-content:flex-start;width:100%}.order-actions{justify-content:flex-start;min-width:auto;width:100%}.view-order-btn{max-width:200px;width:100%}}.preorder-container{background:#f8f9fa;box-sizing:border-box;min-height:100vh;overflow-x:hidden;padding-bottom:40px;width:100%}.preorder-header{align-items:center;background:#fff;box-shadow:0 2px 4px #0000001a;box-sizing:border-box;color:#333;display:flex;justify-content:space-between;padding:20px 40px;width:100%}.preorder-header h1{font-size:28px;font-weight:600;margin:0}.back-btn{font-size:16px;font-weight:500;transition:all .3s ease}.preorder-form{box-sizing:border-box;max-width:100%;padding:20px;width:100%}.form-layout{grid-gap:30px;align-items:start;display:grid;gap:30px;grid-template-columns:2fr 1fr}.form-section{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000000f;box-sizing:border-box;max-width:100%;padding:10px;width:100%}.form-section,.form-subsection{margin-bottom:10px}.form-subsection:last-child{margin-bottom:0}.form-subsection h3{border-bottom:1px solid #e0e0e0;color:#555;font-size:13px;font-weight:600;margin:0 0 6px;padding-bottom:3px}.form-left-column{display:flex;flex-direction:column;height:calc(100vh - 110px);max-height:calc(100vh - 110px)}.form-right-column{display:flex;flex-direction:column;max-height:calc(100vh - 130px);overflow-y:auto;padding-bottom:10px;padding-right:5px;position:-webkit-sticky;position:sticky;top:20px}.form-right-column::-webkit-scrollbar{width:8px}.form-right-column::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.form-right-column::-webkit-scrollbar-thumb{background:#4caf50;border-radius:4px}.form-right-column::-webkit-scrollbar-thumb:hover{background:#45a049}.menu-selection-section{display:flex;flex-direction:column;height:100%;margin-bottom:0;max-height:100%;overflow:hidden}.form-section h2{border-bottom:2px solid #4caf50;color:#333;font-size:16px;font-weight:600;margin:0 0 8px;padding-bottom:4px}.form-row{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-bottom:8px}.form-row:last-child{margin-bottom:0}.form-group{display:flex;flex-direction:column}.form-group label{color:#555;font-size:12px;font-weight:500;margin-bottom:3px}.form-group input{border:1px solid #ddd;border-radius:6px;font-size:13px;padding:6px 10px;transition:all .3s ease}.form-group input:focus{border-color:#4caf50;box-shadow:0 0 0 3px #4caf501a;outline:none}.preorder-container .menu-tabs{border-bottom:2px solid #e0e0e0;display:flex;gap:10px;margin-bottom:25px}.preorder-container .menu-tabs button{background:none;border:none;border-bottom:3px solid #0000;color:#666;cursor:pointer;font-size:16px;font-weight:500;padding:12px 24px;transition:all .3s ease}.preorder-container .menu-tabs button:hover{background:#f8f9fa;color:#4caf50}.preorder-container .menu-tabs button.active{border-bottom-color:#4caf50;color:#4caf50;font-weight:600}.preorder-container .item-grid,.preorder-container .menu-grid{grid-gap:20px;box-sizing:border-box;display:grid;flex:1 1;gap:20px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));max-width:100%;min-height:0;overflow-y:auto;padding-right:10px;width:100%}.preorder-container .item-grid::-webkit-scrollbar,.preorder-container .menu-grid::-webkit-scrollbar{width:8px}.preorder-container .item-grid::-webkit-scrollbar-track,.preorder-container .menu-grid::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.preorder-container .item-grid::-webkit-scrollbar-thumb,.preorder-container .menu-grid::-webkit-scrollbar-thumb{background:#4caf50;border-radius:4px}.preorder-container .item-grid::-webkit-scrollbar-thumb:hover,.preorder-container .menu-grid::-webkit-scrollbar-thumb:hover{background:#45a049}.preorder-container .item-card,.preorder-container .menu-card{background:#fff;border:2px solid #0000;border-radius:12px;box-shadow:0 4px 12px #0000001a;cursor:pointer;display:flex;flex-direction:column;height:280px!important;max-height:280px!important;overflow:hidden;transition:all .3s ease}.preorder-container .item-card:hover,.preorder-container .menu-card:hover{border-color:#4caf50;box-shadow:0 8px 20px #00000026;transform:translateY(-4px)}.preorder-container .item-card.selected,.preorder-container .menu-card.selected{border-color:#4caf50;box-shadow:0 8px 20px #4caf504d}.preorder-container .item-image,.preorder-container .menu-image{flex-shrink:0;height:150px;margin:0;overflow:hidden;width:100%}.preorder-container .item-image img,.preorder-container .menu-image img{height:100%;object-fit:cover;transition:transform .3s ease;width:100%}.preorder-container .item-card:hover .item-image img,.preorder-container .menu-card:hover .menu-image img{transform:scale(1.05)}.preorder-container .menu-content{display:flex;flex:1 1;flex-direction:column;min-height:0;overflow:hidden}.preorder-container .item-content{display:flex;flex-direction:column;flex-shrink:0;gap:0;padding:12px 16px;position:relative}.preorder-container .item-content h5,.preorder-container .menu-content h5{color:#333;flex-shrink:0;font-size:15px;font-weight:600;margin:0 0 6px}.preorder-container .item-description,.preorder-container .menu-description{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;color:#666;display:-webkit-box;flex-shrink:0;font-size:13px;line-height:1.4;margin:0 0 8px;overflow:hidden}.preorder-container .menu-price-row{align-items:center;display:flex;gap:10px;justify-content:space-between}.preorder-container .menu-price-row button{background-color:#4caf50;max-width:50%;width:50%}.preorder-container .menu-price{align-items:center;display:flex;height:100%}.preorder-container .item-price,.preorder-container .menu-price{color:#4caf50;flex-shrink:0;font-size:15px;font-weight:700;margin-bottom:0;text-align:right}.preorder-container .item-price{background:none!important;display:block;height:auto;line-height:1.2;margin-top:4px;min-height:0;padding:0}.preorder-container .selected-badge{background:#4caf50;border-radius:20px;color:#fff;font-size:12px;font-weight:600;padding:4px 12px;position:absolute;right:10px;top:10px}.preorder-container .view-detail-btn{background:#f0f0f0;border:1px solid #ddd;border-radius:6px;color:#333;cursor:pointer;flex-shrink:0;font-size:11px;font-weight:500;padding:6px 8px;transition:all .3s ease;white-space:nowrap}.preorder-container .view-detail-btn:hover{background:#e0e0e0;border-color:#4caf50;color:#4caf50}.selected-items-summary{background:#f8f9fa;border-radius:8px;margin-top:30px;padding:20px}.selected-items-section{margin-top:0;padding:8px!important}.selected-items-section h2{font-size:16px;margin:0 0 8px;padding-bottom:4px}.selected-items-header{align-items:center;background:#f8f9fa;border-bottom:2px solid #4caf50;border-radius:5px;color:#555;display:flex;flex-shrink:0;font-size:12px;font-weight:600;margin-bottom:6px;padding:6px 8px}.header-item-name{flex:1 1;text-align:left}.header-quantity{margin:0 8px;min-width:80px;text-align:center}.header-total{margin-right:8px;min-width:100px;text-align:right}.header-action{text-align:center;width:30px}.selected-items-list{margin-bottom:8px;max-height:280px;overflow-y:auto}.selected-items-list::-webkit-scrollbar{width:6px}.selected-items-list::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.selected-items-list::-webkit-scrollbar-thumb{background:#4caf50;border-radius:3px}.selected-items-list::-webkit-scrollbar-thumb:hover{background:#45a049}.selected-item-row{align-items:center;background:#fff;border-radius:5px;display:flex;justify-content:space-between;margin-bottom:4px;padding:5px 8px}.item-name{color:#333;flex:1 1;font-size:12px;font-weight:500;text-align:left}.quantity-controls{align-items:center;display:flex;gap:4px;margin:0 8px}.quantity-controls button{align-items:center;background:#4caf50;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:12px;font-weight:600;height:20px;justify-content:center;transition:all .3s ease;width:20px}.quantity-controls button:hover{background:#45a049;transform:scale(1.05)}.quantity-controls span{font-size:12px;font-weight:600;min-width:20px;text-align:center}.item-total{color:#4caf50;font-size:12px;font-weight:600;min-width:80px;text-align:right}.remove-btn{align-items:center;background:#dc3545;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:10px;height:18px;justify-content:center;margin-left:6px;transition:all .3s ease;width:18px}.remove-btn:hover{background:#c82333;transform:scale(1.1)}.total-amount{border-top:2px solid #ddd;color:#4caf50;font-size:16px;font-weight:700;padding-top:8px;text-align:right}.error-message{background:#fee;border-left:4px solid #c33;border-radius:8px;color:#c33;margin-bottom:20px;padding:15px}.success-message{background:#fff;border-radius:12px;box-shadow:0 4px 20px #0000001a;margin:100px auto;max-width:600px;padding:40px;text-align:center}.success-message h2{color:#4caf50;margin-bottom:20px}.success-message p{color:#666;line-height:1.6;margin-bottom:10px}.form-actions{margin-top:30px;text-align:center}.form-actions-right{border-top:2px solid #e0e0e0;margin-bottom:5px;margin-top:10px;padding-right:5px;padding-top:10px}.submit-btn{background:#4caf50;border:none;border-radius:8px;box-shadow:0 4px 15px #4caf504d;color:#fff;cursor:pointer;font-size:18px;font-weight:600;padding:15px 40px;transition:all .3s ease}.submit-btn:hover:not(:disabled){background:#45a049;box-shadow:0 6px 20px #4caf5066;transform:translateY(-2px)}.submit-btn:disabled{cursor:not-allowed;opacity:.6}.loading-spinner{color:#666;font-size:18px;padding:100px;text-align:center}.pagination-controls{align-items:center;border-top:2px solid #e0e0e0;display:flex;flex-shrink:0;gap:15px;justify-content:center;margin-top:20px;padding-top:20px}.pagination-btn{background:#4caf50;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .3s ease}.pagination-btn:hover:not(:disabled){background:#45a049;box-shadow:0 4px 8px #4caf504d;transform:translateY(-2px)}.pagination-btn:disabled{background:#ccc;cursor:not-allowed;opacity:.6}.pagination-info{color:#666;font-size:14px;font-weight:500;min-width:100px;text-align:center}@media (max-width:1024px){.form-layout{grid-template-columns:1fr}.form-right-column{max-height:none;overflow-y:visible;position:static}}@media (max-width:768px){.preorder-header{padding:15px 20px}.preorder-header h1{font-size:20px}.preorder-form{padding:20px 10px}.form-section{padding:20px}.form-row,.preorder-container .item-grid,.preorder-container .menu-grid{grid-template-columns:1fr}.selected-item-row{flex-wrap:wrap;padding:6px 8px}.quantity-controls{gap:4px;margin:6px 0}.selected-items-list{max-height:300px}.form-layout{gap:20px}}.loyalty-info{background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh;padding:20px}.loyalty-header{align-items:center;background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;display:flex;justify-content:space-between;margin-bottom:30px;padding:20px}.loyalty-header h2{color:#333;font-size:24px;margin:0}.back-btn{background:#6c757d;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;padding:10px 20px;transition:background .3s}.back-btn:hover{background:#5a6268}.loyalty-content{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin:0 auto;max-width:1200px}.loyalty-card{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;overflow:hidden;transition:transform .3s,box-shadow .3s}.loyalty-card:hover{box-shadow:0 8px 12px #00000026;transform:translateY(-5px)}.card-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:20px}.card-header h3{font-size:20px;margin:0}.card-body{padding:20px}.points-display{margin:20px 0;text-align:center}.points-value{color:#667eea;display:block;font-size:48px;font-weight:700}.points-label{color:#6c757d;display:block;font-size:18px;margin-top:5px}.points-description{color:#6c757d;font-size:14px;margin-top:15px;text-align:center}.rank-badge{border-radius:12px;box-shadow:0 2px 4px #0000001a;margin:20px 0;padding:30px;text-align:center}.rank-label{display:block;font-size:32px;font-weight:700}.rank-info{margin-top:20px}.rank-info p{color:#333;font-size:14px;margin:10px 0}.discount-info{margin:20px 0;text-align:center}.discount-percent{color:#28a745;font-size:24px;margin:15px 0}.discount-example{background:#f8f9fa;border-radius:8px;color:#6c757d;font-size:16px;margin:15px 0;padding:15px}.discount-note{background:#e7f3ff;border-left:4px solid #2196f3;border-radius:8px;margin-top:20px;padding:15px}.discount-note p{color:#1976d2;font-size:14px;margin:0}.error,.loading,.no-access{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;padding:40px;text-align:center}.no-access-icon{font-size:64px;margin-bottom:20px}.no-access h3{color:#333;margin:20px 0}.no-access p{color:#6c757d;margin-bottom:30px}.back-to-menu-btn,.retry-btn{background:#667eea;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;padding:12px 24px;transition:background .3s}.back-to-menu-btn:hover,.retry-btn:hover{background:#5568d3}.error p{color:#dc3545;margin-bottom:20px}@media (max-width:768px){.loyalty-content{grid-template-columns:1fr}.loyalty-header{flex-direction:column;gap:15px;text-align:center}.points-value{font-size:36px}}.confirm-dialog-overlay{align-items:center;animation:fadeIn .2s ease-in-out;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.confirm-dialog{animation:slideUp .3s ease-out;background:#fff;border-radius:12px;box-shadow:0 10px 40px #0003;max-height:90vh;max-width:400px;overflow:hidden;width:90%}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.confirm-dialog-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;gap:12px;padding:20px 24px}.confirm-dialog-icon{font-size:24px;line-height:1}.confirm-dialog-title{color:#111827;flex:1 1;font-size:18px;font-weight:600;margin:0}.confirm-dialog-body{padding:24px}.confirm-dialog-message{word-wrap:break-word;color:#374151;font-size:15px;line-height:1.6;margin:0}.confirm-dialog-footer{background:#f9fafb;border-top:1px solid #e5e7eb;display:flex;gap:12px;justify-content:flex-end;padding:16px 24px}.confirm-dialog-btn{border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;min-width:80px;padding:10px 20px;transition:all .2s ease}.confirm-dialog-btn-primary{background:#6366f1;color:#fff}.confirm-dialog-btn-primary:hover{background:#4f46e5;box-shadow:0 4px 12px #6366f14d;transform:translateY(-1px)}.confirm-dialog-btn-primary:active{transform:translateY(0)}.confirm-dialog-btn-confirm{background:#6366f1;color:#fff}.confirm-dialog-btn-confirm:hover{background:#4f46e5;box-shadow:0 4px 12px #6366f14d;transform:translateY(-1px)}.confirm-dialog-btn-cancel{background:#fff;border:1px solid #d1d5db;color:#374151}.confirm-dialog-btn-cancel:hover{background:#f3f4f6;border-color:#9ca3af}.confirm-dialog-success .confirm-dialog-header{border-bottom-color:#d1fae5}.confirm-dialog-success .confirm-dialog-icon{color:#10b981}.confirm-dialog-error .confirm-dialog-header{border-bottom-color:#fee2e2}.confirm-dialog-error .confirm-dialog-icon{color:#ef4444}.confirm-dialog-warning .confirm-dialog-header{border-bottom-color:#fef3c7}.confirm-dialog-warning .confirm-dialog-icon{color:#f59e0b}.confirm-dialog-confirm .confirm-dialog-header{border-bottom-color:#e0e7ff}.confirm-dialog-confirm .confirm-dialog-icon{color:#6366f1}.confirm-dialog-info .confirm-dialog-header{border-bottom-color:#dbeafe}.confirm-dialog-info .confirm-dialog-icon{color:#3b82f6}@media (max-width:480px){.confirm-dialog{margin:20px;width:95%}.confirm-dialog-header{padding:16px 20px}.confirm-dialog-body{padding:20px}.confirm-dialog-footer{flex-direction:column-reverse;padding:12px 20px}.confirm-dialog-btn{width:100%}}.App{text-align:center}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-header{align-items:center;background-color:#282c34;color:#fff;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}
/*# sourceMappingURL=main.bfcf54c9.css.map*/