@import "https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@400;500;600;700;800&family=Noto+Serif+SC:wght@700;900&display=swap";.confirm-shade[data-v-59839841]{z-index:120;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#23161194;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.confirm-card[data-v-59839841]{background:#fffaf2;border:1px solid #ead3ba;border-radius:22px;width:min(440px,92vw);padding:24px;box-shadow:0 28px 80px #00000052}.confirm-card header[data-v-59839841]{align-items:center;gap:11px;display:flex}.confirm-card h2[data-v-59839841]{color:#39261f;margin:0;font-family:Noto Serif SC,serif;font-size:20px}.confirm-mark[data-v-59839841]{color:#8b291d;background:#f8e1d8;border-radius:50%;place-items:center;width:34px;height:34px;font-size:19px;font-weight:900;display:grid}.confirm-card p[data-v-59839841]{color:#786458;margin:17px 0 23px;line-height:1.7}.confirm-card footer[data-v-59839841]{justify-content:flex-end;gap:10px;display:flex}.confirm-card footer button[data-v-59839841]{border-radius:11px;min-width:100px;height:42px;font-weight:800}.confirm-cancel[data-v-59839841]{color:#6e5141;background:#fff;border:1px solid #dcc5ab}.confirm-primary[data-v-59839841],.confirm-danger[data-v-59839841]{color:#fff;background:linear-gradient(135deg,#7f291f,#a83a28);border:0;box-shadow:0 7px 17px #79251b33}.confirm-danger[data-v-59839841]{background:#a33425}:root{color:#31251f;font-synthesis:none;--wine:#852b20;--wine-dark:#641d17;--gold:#e9ae3b;--cream:#fffaf2;--paper:#f8f0e5;--line:#e6d4bf;--muted:#806f63;--teal:#147a83;--green:#2e7c59;--shadow:0 14px 40px #5b341f1f;background:#f5ecdf;font-family:Noto Sans SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 18% 0,#fffaf3 0,#0000 32%),#f5ecdf;min-width:740px;min-height:100vh;margin:0;overflow:hidden}button,input,textarea{font:inherit}button{cursor:pointer}.app-shell{flex-direction:column;height:100vh;display:flex}.topbar{color:#fff;z-index:5;background:linear-gradient(110deg,#661f18,#8d2d21 56%,#6c2119);grid-template-columns:1fr auto 1fr;align-items:center;height:84px;padding:0 24px;display:grid;box-shadow:0 7px 24px #49140f33}.brand{align-items:center;gap:12px;display:flex}.brand img{object-fit:contain;background:#fff6e8;border-radius:15px;width:54px;height:54px}.brand strong{letter-spacing:2px;font-family:Noto Serif SC,serif;font-size:21px;display:block}.brand small{color:#edc9bd;margin-top:2px;font-size:12px;display:block}.service-mode{background:#3307043d;border:1px solid #ffffff2e;border-radius:15px;padding:5px;display:flex}.service-mode button{color:#f4dcd4;background:0 0;border:0;border-radius:11px;min-width:86px;height:38px;font-weight:700}.service-mode button.active{color:#5a2215;background:linear-gradient(135deg,#f5c866,#e8aa35);box-shadow:0 5px 14px #23080440}.top-actions{justify-self:end;align-items:center;gap:10px;display:flex}.status-pill{background:#ffffff1f;border-radius:999px;align-items:center;gap:7px;padding:8px 11px;font-size:13px;display:flex}.status-pill i{background:#67df9e;border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 4px #67df9e26}.status-pill.closed i{background:#ddd}.install-btn{color:#fff;background:0 0;border:1px solid #ffffff61;border-radius:10px;height:36px;padding:0 12px}.network-banner{text-align:center;color:#704a12;background:#fff0c9;border-bottom:1px solid #efd18f;padding:8px 20px;font-size:13px}.workspace{flex:1;grid-template-columns:160px minmax(460px,1fr) minmax(300px,360px);min-height:0;display:grid}.category-rail{background:#efe3d3;border-right:1px solid #ddcbb7;padding:20px 12px;overflow:auto}.rail-title{color:#8d7464;letter-spacing:1.5px;padding:0 11px 12px;font-size:12px;font-weight:800}.category-rail button{color:#745e51;text-align:left;background:0 0;border:0;border-radius:13px;align-items:center;gap:10px;width:100%;min-height:54px;margin-bottom:7px;padding:8px 10px;font-weight:700;display:flex}.category-rail button span{color:#8b3b29;background:#e7d4bf;border-radius:9px;place-items:center;width:30px;height:30px;font-family:Noto Serif SC,serif;display:grid}.category-rail button.active{color:#fff;background:linear-gradient(135deg,#853024,#a13b2a);box-shadow:0 8px 18px #6f261c33}.category-rail button.active span{color:#6a2c1f;background:#f4bd53}.menu-panel{background:#f8f1e7;flex-direction:column;min-width:0;padding:22px 22px 0;display:flex}.menu-toolbar{justify-content:space-between;align-items:center;padding:0 2px 18px;display:flex}.eyebrow{color:#9a593d;letter-spacing:2px;text-transform:uppercase;margin:0 0 4px;font-size:11px;font-weight:800}.menu-toolbar h1{margin:0;font-family:Noto Serif SC,serif;font-size:28px}.search{background:#fffaf3;border:1px solid #dfcdb8;border-radius:13px;align-items:center;gap:8px;width:min(300px,40%);height:44px;padding:0 13px;display:flex}.search span{color:#8d7668;font-size:24px}.search input{color:#31251f;background:0 0;border:0;outline:0;width:100%}.dish-scroll{scroll-behavior:smooth;flex:1;min-height:0;padding:0 5px 50px 0;overflow:auto}.dish-group{margin-bottom:26px;scroll-margin-top:10px}.group-heading{align-items:center;gap:10px;margin-bottom:12px;display:flex}.group-heading h2{margin:0;font-family:Noto Serif SC,serif;font-size:21px}.group-heading span{color:#916f59;background:#eadcca;border-radius:999px;padding:3px 8px;font-size:11px}.dish-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;display:grid}.dish-card{background:#fffaf4;border:1px solid #e6d6c3;border-radius:18px;grid-template-columns:138px 1fr;min-height:145px;transition:all .18s;display:grid;overflow:hidden;box-shadow:0 8px 22px #59352012}.dish-card:active{transform:scale(.985)}.dish-image{background:#ead9c6;min-height:145px;position:relative;overflow:hidden}.dish-image img{object-fit:cover;width:100%;height:100%}.image-placeholder{color:#b18b68;place-items:center;height:100%;font-family:Noto Serif SC,serif;font-size:22px;display:grid}.recommend{color:#5e3105;background:#f7c65b;border-radius:7px;padding:4px 8px;font-size:10px;font-weight:900;position:absolute;top:9px;left:9px}.dish-copy{flex-direction:column;min-width:0;padding:15px 14px;display:flex}.dish-copy h3{margin:0 0 6px;font-size:16px}.dish-copy p{color:#8b7a6e;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:12px;line-height:1.5;display:-webkit-box;overflow:hidden}.dish-foot{justify-content:space-between;align-items:end;margin-top:auto;display:flex}.dish-foot strong{color:#9b2f20;font-size:18px}.dish-foot small{font-size:10px}.dish-foot button{color:#fff;background:#8d2d21;border:0;border-radius:10px;width:33px;height:33px;font-size:22px;line-height:1}.order-panel{background:#fffaf3;border-left:1px solid #decbb6;flex-direction:column;min-width:0;display:flex;box-shadow:-8px 0 24px #4a2d1b0f}.order-head{border-bottom:1px solid #eadccb;justify-content:space-between;align-items:center;padding:21px 19px;display:flex}.order-head p{color:#8c7566;margin:0;font-size:11px}.order-head h2{margin:2px 0 0;font-family:Noto Serif SC,serif;font-size:21px}.table-chip{color:#106c74;background:#e2f4f3;border-radius:9px;padding:7px 10px;font-size:12px;font-weight:800}.guest-row{color:#766154;border-bottom:1px solid #eee1d2;justify-content:space-between;align-items:center;padding:12px 19px;font-size:13px;display:flex}.stepper{align-items:center;gap:8px;display:flex}.stepper button,.line-stepper button{color:#7f291f;background:#fff;border:1px solid #dcc7b0;border-radius:8px;width:28px;height:28px}.stepper strong{text-align:center;min-width:22px}.empty-cart{text-align:center;margin:auto;padding:30px}.empty-cart div{color:#9b5c3d;background:#f3dfca;border-radius:22px;place-items:center;width:66px;height:66px;margin:0 auto 13px;font-family:Noto Serif SC,serif;font-size:24px;display:grid}.empty-cart h3{margin:0 0 5px;font-size:16px}.empty-cart p{color:#9a887a;margin:0;font-size:12px}.order-lines{flex:1;min-height:0;padding:7px 18px;overflow:auto}.order-line{border-bottom:1px solid #eee1d2;grid-template-columns:1fr auto;gap:5px 10px;padding:13px 0;display:grid}.order-line strong{font-size:14px;display:block}.order-line small{color:#9a887a;margin-top:3px;font-size:10px;display:block}.order-line>span{color:#7f291f;font-weight:800}.line-stepper{grid-column:1/-1;align-items:center;gap:7px;display:flex}.line-stepper button{width:25px;height:25px}.line-stepper b{text-align:center;min-width:18px;font-size:12px}.order-summary{background:#fff7ed;border-top:1px solid #e5d4c0;padding:16px 19px 18px}.order-summary>div{color:#7c685a;justify-content:space-between;margin-bottom:8px;font-size:12px;display:flex}.order-summary .total{color:#382820;align-items:end;margin:5px 0 13px;font-size:14px}.order-summary .total strong{color:#8b291d;font-size:24px}.checkout-btn,.add-btn,.checkout-dialog footer button,.success-dialog button{color:#fff;background:linear-gradient(135deg,#7f291f,#a83a28);border:0;border-radius:13px;width:100%;height:48px;font-weight:800;box-shadow:0 8px 18px #79251b38}button:disabled{opacity:.42;cursor:not-allowed}.order-summary>small{color:#9b897b;text-align:center;margin-top:9px;font-size:10px;display:block}.state-card{color:#8b786a;margin:70px auto}.modal-layer{z-index:30;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#2316118f;place-items:center;padding:22px;display:grid;position:fixed;inset:0}.dish-dialog{background:#fffaf3;border-radius:24px;grid-template-rows:1fr auto;grid-template-columns:44% 56%;width:min(760px,92vw);max-height:91vh;display:grid;position:relative;overflow:hidden;box-shadow:0 28px 80px #0000004d}.dialog-close{z-index:2;color:#39261f;background:#ffffffe6;border:0;border-radius:50%;width:38px;height:38px;font-size:25px;position:absolute;top:15px;right:15px}.dialog-close.static{background:#f0e4d6;position:static}.dialog-hero{background:#ead8c5;grid-row:1/3;min-height:520px}.dialog-hero img{object-fit:cover;width:100%;height:100%}.dialog-body{padding:32px 32px 20px;overflow:auto}.dialog-body h2{margin:0;font-family:Noto Serif SC,serif;font-size:29px}.dialog-desc{color:#847267;margin:8px 0 21px;line-height:1.6}.choice-group{margin:17px 0}.choice-title{justify-content:space-between;margin-bottom:9px;display:flex}.choice-title span{color:#a16c52;font-size:11px}.chips{flex-wrap:wrap;gap:8px;display:flex}.chips button{color:#665449;background:#fff;border:1px solid #dcc8b2;border-radius:10px;min-height:38px;padding:0 12px}.chips button.selected{color:#7b281e;background:#f8e1d8;border-color:#8c2c21;box-shadow:inset 0 0 0 1px #8c2c21}.remark-field{flex-direction:column;gap:7px;margin-top:18px;font-size:13px;font-weight:700;display:flex}.remark-field input,.checkout-body input,.checkout-body textarea,.table-confirm input{color:#3c2c24;background:#fff;border:1px solid #dcc8b2;border-radius:11px;outline:0;width:100%;padding:11px 12px}.dialog-actions{border-top:1px solid #eadaca;grid-template-columns:auto 1fr;align-items:center;gap:18px;padding:16px 32px 22px;display:grid}.stepper.large button{width:36px;height:36px}.add-btn{height:48px}.checkout-dialog{background:#fffaf3;border-radius:24px;flex-direction:column;width:min(650px,92vw);max-height:92vh;display:flex;overflow:hidden;box-shadow:0 28px 80px #0000004d}.checkout-dialog header{border-bottom:1px solid #eadaca;justify-content:space-between;align-items:center;padding:22px 25px;display:flex}.checkout-dialog header h2{margin:0;font-family:Noto Serif SC,serif}.checkout-body{padding:22px 25px;overflow:auto}.checkout-body label{color:#604b3f;flex-direction:column;gap:7px;margin-bottom:14px;font-size:12px;font-weight:700;display:flex}.checkout-body textarea{resize:vertical;min-height:70px}.form-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.table-confirm{color:#155d62;background:#e3f3f1;border-radius:14px;align-items:center;gap:10px;margin-bottom:18px;padding:15px;display:flex}.table-confirm div{margin-right:auto}.table-confirm small,.table-confirm strong{display:block}.table-confirm.missing{color:#8a5412;background:#fff0cf}.table-confirm input{max-width:210px}.table-confirm button{color:#fff;background:#7f291f;border:0;border-radius:9px;height:39px}.checkout-list{border-top:1px solid #eadaca;padding-top:10px}.checkout-list div{color:#705d51;justify-content:space-between;padding:6px 0;font-size:13px;display:flex}.checkout-dialog footer{background:#fbf2e6;border-top:1px solid #e2d0bb;grid-template-columns:1fr 220px;align-items:center;gap:20px;padding:17px 25px;display:grid}.checkout-dialog footer span,.checkout-dialog footer small{color:#8c786a;font-size:11px;display:block}.checkout-dialog footer strong{color:#84291f;margin-right:8px;font-size:24px;display:inline-block}.success-layer{background:#491b14bf}.success-dialog{text-align:center;background:#fffaf2;border-radius:25px;width:min(440px,90vw);padding:38px}.success-mark{color:#fff;background:#2e8a60;border-radius:50%;place-items:center;width:70px;height:70px;margin:0 auto 18px;font-size:34px;display:grid}.success-dialog h2{margin:0 0 8px;font-family:Noto Serif SC,serif}.success-dialog>p:not(.eyebrow){color:#836f62}.success-total{border-block:1px solid #ead8c4;justify-content:space-between;margin:24px 0 10px;padding:16px 0;display:flex}.success-total strong{color:#852b20;font-size:22px}.success-dialog>small{color:#8d796b;line-height:1.6;display:block}.success-dialog button{margin-top:24px}.toast{z-index:80;color:#fff;background:#33251fee;border-radius:999px;padding:11px 18px;font-size:13px;position:fixed;bottom:25px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #00000038}.install-layer{z-index:90;background:#301510ad}.install-dialog{text-align:center;background:#fffaf2;border:1px solid #ead3ba;border-radius:26px;width:min(440px,90vw);padding:34px;position:relative;box-shadow:0 30px 90px #0000005c}.install-dialog>img{border-radius:22px;width:86px;height:86px;margin-bottom:14px;box-shadow:0 10px 24px #67251a2e}.install-dialog h2{margin:0 0 10px;font-family:Noto Serif SC,serif;font-size:25px}.install-dialog>p:not(.eyebrow){color:#786458;margin:0 auto 20px;line-height:1.7}.install-close{position:absolute;top:15px;right:15px}.install-steps{color:#6f4b34;background:#f4e6d5;border-radius:13px;justify-content:center;align-items:center;gap:10px;margin:20px 0;padding:14px;font-weight:700;display:flex}.install-steps span{color:#fff;background:#852b20;border-radius:50%;place-items:center;width:26px;height:26px;display:grid}.install-steps b{color:#ba8d64}.install-warning{color:#7a5315;background:#fff1d2;border:1px solid #edcc87;border-radius:11px;margin:18px 0;padding:12px;font-size:12px;line-height:1.6}.install-primary,.install-secondary{border-radius:13px;width:100%;height:48px;font-weight:800}.install-primary{color:#fff;background:linear-gradient(135deg,#7f291f,#a83a28);border:0;box-shadow:0 8px 18px #79251b38}.install-secondary{color:#6e5141;background:#fff;border:1px solid #dcc5ab}@media (width<=1100px){.workspace{grid-template-columns:130px minmax(420px,1fr) 310px}.dish-grid{grid-template-columns:1fr}.category-rail button{font-size:13px}.dish-card{grid-template-columns:150px 1fr}.topbar{padding:0 16px}.brand small{display:none}.service-mode button{min-width:72px}.order-panel{font-size:13px}}@media (width<=820px){body{min-width:0;overflow:auto}.app-shell{height:auto;min-height:100vh}.topbar{grid-template-columns:1fr auto;height:auto;padding:11px 14px}.brand img{width:42px;height:42px}.brand strong{font-size:17px}.service-mode{grid-area:2/1/auto/-1;margin-top:9px}.service-mode button{flex:1}.top-actions{grid-area:1/2}.status-pill{display:none}.workspace{display:block}.category-rail{z-index:4;border:0;border-bottom:1px solid #decbb6;gap:7px;padding:8px;display:flex;position:sticky;top:0;overflow:auto}.rail-title{display:none}.category-rail button{flex:none;width:auto;min-height:40px;margin:0;padding:6px 10px}.category-rail button span{display:none}.menu-panel{padding:16px 13px 90px}.menu-toolbar h1{font-size:23px}.search{width:46%}.dish-scroll{overflow:visible}.dish-grid{grid-template-columns:1fr}.order-panel{z-index:8;border:0;border-radius:17px;display:block;position:fixed;bottom:10px;left:12px;right:12px;box-shadow:0 12px 38px #3d1c114d}.order-head,.guest-row,.empty-cart,.order-lines{display:none}.order-summary{border:0;border-radius:17px;grid-template-columns:1fr auto;align-items:center;gap:4px 14px;padding:11px 13px;display:grid}.order-summary>div:first-child,.order-summary>small{display:none}.order-summary .total{grid-row:1;margin:0;display:block}.order-summary .total span{font-size:10px;display:block}.order-summary .total strong{font-size:21px}.checkout-btn{grid-area:1/2;width:145px}.dish-dialog{flex-direction:column;grid-template-columns:1fr;display:flex}.dialog-hero{height:210px;min-height:210px}.dialog-body{padding:20px}.dialog-actions{padding:13px 20px 18px}.form-grid{grid-template-columns:1fr}.checkout-dialog footer{grid-template-columns:1fr 180px}.install-btn{height:34px;padding:0 9px;font-size:12px}.install-dialog{padding:30px 22px}.install-dialog h2{font-size:22px}}.tablet-purpose{color:#ffe2a3;letter-spacing:2px;justify-content:center;min-width:180px;padding:10px 20px;font-weight:800}.network-banner button{color:#704a12;background:#fff8e8;border:1px solid #d4ad58;border-radius:7px;margin-left:12px;padding:4px 10px;font-weight:700}.table-chip{cursor:pointer;border:0}.table-chip.missing{color:#8a5412;background:#fff0cf}.table-layer{z-index:70}.table-dialog{background:#fffaf3;border-radius:24px;width:min(720px,92vw);max-height:90vh;padding:28px;overflow:auto;box-shadow:0 28px 80px #0000004d}.table-dialog>header{justify-content:space-between;align-items:flex-start;margin-bottom:22px;display:flex}.table-dialog h2{margin:0 0 5px;font-family:Noto Serif SC,serif;font-size:28px}.table-dialog header small{color:#8b786a}.table-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;display:grid}.table-option{color:#59463a;background:#fff;border:1px solid #dfccb6;border-radius:16px;flex-direction:column;justify-content:center;align-items:flex-start;min-height:124px;padding:18px;display:flex;box-shadow:0 7px 18px #55321e0f}.table-option span{color:#9a7863;font-size:11px}.table-option strong{color:#7e281f;margin:5px 0;font-family:Noto Serif SC,serif;font-size:22px}.table-option small{color:#8d7b6f}.table-option.selected{background:#f9e6de;border-color:#8c2c21;box-shadow:inset 0 0 0 1px #8c2c21}.retry-table{margin-top:16px}.success-actions{grid-template-columns:1fr 1fr;gap:10px;margin-top:24px;display:grid}.success-dialog .success-actions button{height:auto;min-height:48px;margin:0}.success-dialog .success-actions .secondary{color:#744c3c;box-shadow:none;background:#fff;border:1px solid #d9c2aa}@media (width<=820px){.tablet-purpose{min-width:0;margin-top:9px}.table-dialog{padding:22px}.table-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.table-option{min-height:100px}.success-actions{grid-template-columns:1fr}}
