@font-face{font-family:HarmonyOS Sans Medium;src:url(/assets/HarmonyOS_Sans_Medium-CON-sWCv.ttf) format("truetype")}.menu-header{position:fixed;top:0;left:0;right:0;height:60px;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 16px;box-shadow:0 2px 8px #0000001a;z-index:1000}.system-title{font-size:18px;font-weight:600}.table-number{font-size:16px;color:#666}.content-wrapper{margin-top:60px;display:flex;min-height:calc(100vh - 60px)}.categories-sidebar{width:100px;padding:12px 8px;background:#f8f9fa;overflow-y:auto}.category-tab{width:100%;padding:12px 8px;margin-bottom:8px;border:none;border-radius:8px;background:#fff;font-size:14px;text-align:center;cursor:pointer;transition:all .2s}.category-tab.active{background:#1677ff;color:#fff}.dishes-list{flex:1;padding:16px;background:#fff}.dish-card{display:flex;margin-bottom:16px;padding:12px;background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a}.image-container{flex-shrink:0;width:100px;height:100px;margin-right:16px;border-radius:8px;overflow:hidden}.dish-image{width:100%;height:100%;object-fit:cover;transition:opacity .4s}.fade-in{opacity:1}.fade-out{opacity:0}.dish-info{flex:1;display:flex;flex-direction:column;justify-content:space-between}.dish-name{margin:0;font-size:16px;color:#333}.price-section{display:flex;align-items:baseline;gap:4px}.price{font-size:18px;color:#ff4d4f;font-weight:600}.unit,.stock{font-size:12px;color:#666}@media (max-width: 480px){.categories-sidebar{width:80px;padding:8px 4px}.category-tab{padding:8px 4px;font-size:13px}.dish-card{padding:8px}.image-container{width:80px;height:80px;margin-right:12px}.dish-name{font-size:15px}.price{font-size:16px}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;opacity:0;animation:fadeIn .3s ease-in-out forwards}.modal-overlay.closing{animation:fadeOut .3s ease-in-out forwards}.modal-content{background:#fff;padding:20px;border-radius:8px;width:300px;text-align:center;transform:scale(.5);opacity:0;animation:scaleIn .3s cubic-bezier(.34,1.56,.64,1) forwards}.modal-content.closing{animation:scaleOut .3s cubic-bezier(.34,-.56,.64,1) forwards}@keyframes scaleIn{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}@keyframes scaleOut{0%{transform:scale(1);opacity:1}to{transform:scale(.5);opacity:0}}.methods{margin:20px 0}textarea:invalid{border-color:#ff4d4f}.error-message{color:red;text-align:center}.cancel-button,.confirm-button{padding:.5rem 1rem;border-radius:8px;transition:transform .2s;color:#fff}.confirm-button{background:#1890ff}.modal-actions button{padding:10px;margin:5px;cursor:pointer;border:none;border-radius:8px;transition:transform .2s}.modal-actions button:hover{transform:scale(1.05)}.cart-footer{position:fixed;bottom:0;left:0;right:0;height:60px;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 16px;box-shadow:0 -2px 8px #0000001a;z-index:900}.cart-info{display:flex;align-items:center;gap:16px}.cart-title{font-size:16px;font-weight:600}.cart-summary{font-size:14px;color:#ff4d4f}.checkout-button{padding:8px 16px;background:#1890ff;color:#fff;border:none;border-radius:8px;cursor:pointer;transition:transform .2s}.checkout-button:hover{transform:scale(1.05)}.message-toast{position:fixed;bottom:20px;left:50%;transform:translate(-50%);min-width:300px;max-width:500px;padding:12px 20px;border-radius:8px;box-shadow:0 4px 12px #00000026;display:flex;align-items:center;z-index:2000}.message-toast.success{background:#f0f9eb;border:1px solid #b7eb8f;color:#52c41a}.message-toast.error{background:#fff1f0;border:1px solid #ffa39e;color:#f5222d}.message-icon{margin-right:10px;font-size:16px;font-weight:700}.message-text{flex-grow:1;font-size:14px}.message-close{background:none;border:none;font-size:16px;cursor:pointer;padding:0 5px;color:#666}.message-close:hover{color:#333}@keyframes slideUp{0%{transform:translate(-50%) translateY(100px);opacity:0}to{transform:translate(-50%) translateY(0);opacity:1}}@keyframes slideDown{0%{transform:translate(-50%) translateY(0);opacity:1}to{transform:translate(-50%) translateY(100px);opacity:0}}.message-toast.entering{animation:slideUp .3s ease-out forwards}.message-toast.exiting{animation:slideDown .3s ease-out forwards}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;animation:fadeIn .3s ease-out forwards}.modal-overlay.closing{animation:fadeOut .3s ease-in forwards}.modal-content{background:#fff;padding:20px;border-radius:8px;width:300px;text-align:center;animation:slideIn .3s ease-out forwards}.modal-content.closing{animation:slideOut .3s ease-in forwards}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes slideIn{0%{transform:translateY(-50px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideOut{0%{transform:translateY(0);opacity:1}to{transform:translateY(-50px);opacity:0}}.modal-actions{display:flex;justify-content:space-around;margin-top:20px}.cancel-button,.confirm-button{padding:10px 20px;border:none;border-radius:8px;cursor:pointer;transition:transform .2s}.cancel-button{background:#f5222d;color:#fff}.confirm-button{background:#1890ff;color:#fff}@font-face{font-family:HarmonyOS Sans Medium;src:url(/assets/HarmonyOS_Sans_Medium-CON-sWCv.ttf) format("truetype")}body{margin:0;font-family:HarmonyOS Sans Medium,sans-serif}.dish-display-container{padding:70px 15px 90px;background:#f5f5f5;min-height:100vh}.checkout-header{text-align:center;margin-bottom:30px;position:relative}.checkout-header h2{color:#333;margin:20px 0}.checkout-content{display:flex;flex-direction:column;gap:0px;max-width:800px;margin:0 auto}.dish-card{display:flex;gap:12px;margin-bottom:15px;background:#fff;border-radius:8px;padding:12px;box-shadow:0 2px 8px #0000001a;align-items:center}.dish-card:hover{transform:translateY(-2px)}.image-container{width:100px;height:100px;flex-shrink:0;border-radius:8px;overflow:hidden;display:flex;align-items:center;justify-content:center}.dish-image{width:100%;height:100%;object-fit:cover;transition:opacity .4s;flex-shrink:0}.dish-image.fade-out{opacity:0}.dish-image.fade-in{opacity:1}.dish-info{flex:1;min-width:0}.dish-name{margin:0;color:#333;font-size:1.1em}.price-section{display:flex;align-items:baseline;gap:8px}.price{color:#1890ff;font-size:1.2em;font-weight:700}.unit{color:#666;font-size:.9em}.note-section,.optional-methods-section{display:flex;align-items:baseline;gap:4px;color:#666;font-size:.9em}.note-section p{margin:0;display:inline}.optional-methods-section{display:flex;align-items:baseline;gap:0px}.optional-methods-section strong{display:block;margin-bottom:0}.button,.return-button{padding:8px 16px;background:#1890ff;color:#fff;border:none;border-radius:8px;cursor:pointer;transition:transform .2s}.confirm-button{padding:8px 16px;background:#1890ff;color:#fff;border:none;border-radius:8px;cursor:pointer;transition:transform .2s;margin-left:10px}.bottom-fixed-bar{height:60px;padding:0 15px;position:fixed;bottom:0;left:0;right:0;background:#fff;box-shadow:0 -2px 10px #0000001a;display:flex;align-items:center;justify-content:space-between;z-index:1000}.bottom-bar-left{display:flex;align-items:baseline;gap:8px}.total-price{color:#ff4d4f;font-size:1.3em;font-weight:700}@media (max-width: 768px){.image-container{width:80px;height:80px}.dish-name{font-size:1em}.price{font-size:1.1em}.dish-card{padding:12px;gap:15px}}.methods-list,.method-item{display:inline}.table-number{font-weight:700;color:#333}.order-info{display:flex;align-items:baseline;gap:15px}.item-count{color:#999;font-size:.8em}.button-group{display:flex;gap:10px}.optional-methods-section ul{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:0}.optional-methods-section li{background:#f0f0f0;padding:4px 8px;border-radius:8px;font-size:.9em}.delete-button{background-color:#ff4d4f;color:#fff;border:none;border-radius:8px;padding:8px 16px;cursor:pointer;font-size:14px}.delete-button:hover{background:#f5222d;transform:scale(1.05)}.clear-cart-button{padding:8px 16px;background:#ff4d4f;color:#fff;border:none;border-radius:8px;cursor:pointer;transition:transform .2s}.clear-cart-button:hover{background:#f5222d;transform:scale(1.05)}.edit-button{background-color:#1890ff;color:#fff;border:none;border-radius:8px;padding:8px 16px;cursor:pointer;font-size:14px;margin-top:8px}.edit-button:hover{background:#096dd9;transform:scale(1.05)}.action-buttons{display:flex;flex-direction:column;gap:8px}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background:#fff;padding:20px;border-radius:8px;width:300px;text-align:center}.methods{margin:20px 0;text-align:left}.methods label{display:block;margin-bottom:8px}textarea{width:100%;height:80px;padding:8px;margin-bottom:10px;border:1px solid #ccc;border-radius:8px;transition:border-color .3s;box-sizing:border-box}textarea:focus{border-color:#1890ff}.modal-actions{display:flex;justify-content:flex-end;margin-top:10px}.cancel-button,.confirm-button{padding:.5rem 1rem;border-radius:8px;transition:transform .2s;color:#fff;border:none;cursor:pointer;margin-left:8px}.cancel-button{background:#f5222d}.confirm-button{padding:8px 16px;background:#1890ff;color:#fff;border:none;border-radius:8px;cursor:pointer;transition:transform .2s}.confirm-button:hover{background:#096dd9;transform:scale(1.05)}.cancel-button:hover,.confirm-button:hover{transform:scale(1.05)}.modal-content h4{margin-top:20px;font-size:16px;font-weight:600;color:#333;text-align:left}#captcha-element{position:fixed;top:0;left:0;width:100%;height:100%;z-index:2000;display:none}.aliyun-captcha-mask{background-color:#00000080!important}.aliyun-captcha-container{border-radius:8px!important;overflow:hidden!important}.error-modal{max-width:320px}.error-modal h3{color:#ff4d4f;margin-top:0}.error-modal p{margin:20px 0;color:#333;text-align:center}.loading-container,.error-container{display:flex;justify-content:center;align-items:center;height:100vh;font-size:18px;color:#666}.error-container{color:#ff4d4f}@media (max-width: 768px){.aliyun-captcha-container{width:90%!important;max-width:350px!important}}.payment-page{padding:70px 15px 20px;background:#f5f5f5;min-height:100vh;font-family:HarmonyOS Sans Medium,sans-serif}.top-fixed-bar{position:fixed;top:0;left:0;right:0;height:60px;background:#fff;box-shadow:0 2px 10px #0000001a;display:flex;align-items:center;justify-content:space-between;padding:0 20px;z-index:1000}.return-button{padding:6px 12px;min-width:80px;background:#1890ff;color:#fff;border:none;border-radius:8px;font-size:.9em;cursor:pointer;transition:all .2s}.return-button:hover{background:#096dd9;transform:scale(1.05)}.page-title{margin:0;font-size:1.2rem;color:#333}.spacer{width:80px}.payment-content{max-width:800px;margin:0 auto;display:flex;flex-direction:column;gap:20px}.order-info{background:#fff;border-radius:8px;padding:15px;box-shadow:0 2px 8px #0000001a;margin-top:15px;display:flex;flex-direction:column;gap:10px;justify-content:center;align-items:center;min-height:100px}.order-id,.order-total-price{font-size:1.1rem;color:#333;text-align:center}.order-info h3{margin:0;color:#333;font-size:1.1rem}.cancel-order-button{padding:6px 12px;min-width:80px;background:#ff4d4f;color:#fff;border:none;border-radius:8px;font-size:.9em;cursor:pointer;transition:all .2s}.cancel-order-button:hover{background:#d9363e;transform:scale(1.05)}.payment-qr-section{background:#fff;border-radius:8px;padding:20px;box-shadow:0 2px 8px #0000001a;text-align:center}.payment-qr-section h3{margin-top:0;margin-bottom:15px;color:#333;font-size:1.1rem}.qr-code-container{display:flex;flex-direction:column;align-items:center;gap:15px}.payment-qr-code{max-width:200px;height:auto;border:1px solid #eee;border-radius:8px}.refresh-button{padding:8px 16px;background:#1890ff;color:#fff;border:none;border-radius:8px;cursor:pointer;transition:all .2s;font-size:.9rem}.refresh-button:hover{background:#096dd9;transform:scale(1.05)}.upload-section{background:#fff;border-radius:8px;padding:20px;box-shadow:0 2px 8px #0000001a}.upload-section h3{margin-top:0;margin-bottom:15px;color:#333;font-size:1.1rem}.upload-form{display:flex;flex-direction:column;gap:15px}.file-input-container{display:flex;justify-content:center}.file-input{display:none}.file-input-label{padding:10px 20px;background:#1890ff;color:#fff;border-radius:8px;cursor:pointer;transition:all .2s;text-align:center;font-size:1rem}.file-input-label:hover{background:#096dd9;transform:scale(1.05)}.preview-container{margin:15px 0;text-align:center}.preview-image{max-width:100%;max-height:300px;border-radius:8px;border:1px solid #eee}.error-message{color:#ff4d4f;text-align:center;font-size:.9rem}.submit-button{padding:12px 20px;background:#1890ff;color:#fff;border:none;border-radius:8px;cursor:pointer;transition:all .2s;font-size:1rem;font-weight:700;margin-top:10px}.submit-button:hover:not(:disabled){background:#096dd9;transform:scale(1.02)}.submit-button:disabled{background:#ccc;cursor:not-allowed}@media (max-width: 768px){.payment-content{gap:15px}.payment-qr-section,.upload-section{padding:15px}.payment-qr-code{max-width:180px}.file-input-label,.submit-button{width:100%}}.cancel-success-message{height:100vh;display:flex;justify-content:center;align-items:center;text-align:center;background:#f5f5f5}.cancel-success-message h2{color:#333;font-size:1.5rem;margin:0}
