*{box-sizing:border-box}body{margin:0;color:#20332d;background:#e8ebe6;font:14px/1.6 "Microsoft YaHei","PingFang SC",system-ui,sans-serif}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button{cursor:pointer;background:white;border:1px solid #dce2dc;border-radius:9px;color:inherit;padding:9px 15px;min-height:40px}button:hover{border-color:#166653;background:#f0f7f3}button:disabled{opacity:.45;cursor:not-allowed}button.primary,.primary{background:#166653;color:white;border-color:#166653}button.danger{color:#a13e36;background:#fff1ee;border-color:#ebc7bf}.link{border:0;background:none;color:#166653;padding:3px 5px;min-height:30px}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}h1{font-size:28px;line-height:1.3;letter-spacing:-.8px}h2{font-size:18px}h3{font-size:15px}small,.muted{color:#68786f}small{font-size:12px}#preview{display:flex;align-items:center;gap:18px;min-height:66px;padding:12px 24px;background:#fff;border-bottom:1px solid #dbe2da;flex-wrap:wrap}#preview strong{font-size:14px;margin-right:auto}#preview label{display:flex;gap:8px;align-items:center;font-size:12px}#preview select{max-width:220px;border:1px solid #dce2dc;border-radius:7px;padding:5px}#preview span{font-size:11px;color:#6d786f}.export #preview{display:none}.shell{display:grid;grid-template-columns:220px minmax(0,1fr);min-height:1000px;background:#f4f5f1}.sidebar{background:#173e33;color:#d6e3d9;padding:30px 18px;display:flex;flex-direction:column}.brand{font-size:25px;font-weight:700;letter-spacing:4px;color:#fff;padding:0 16px 28px}.brand small{display:block;font-size:10px;letter-spacing:3px;color:#a9c1b3;margin-top:4px}.navgroup{font-size:10px;letter-spacing:2px;margin:23px 14px 8px;color:#95b5a5}.navitem{padding:10px 14px;border-radius:7px;display:flex;gap:12px;font-size:13px;margin-bottom:4px}.navitem:hover,.navitem.active{background:#2d5848;color:white}.navicon{opacity:.7;font-family:monospace;width:16px}.navfoot{margin-top:auto;padding:28px 12px 0;color:#a4c0af;font-size:11px}.main{min-width:0}.topbar{height:72px;background:#fff;border-bottom:1px solid #e0e5de;display:flex;align-items:center;justify-content:space-between;padding:0 30px}.topbar .left,.topbar .right{display:flex;align-items:center;gap:16px}.dot{width:7px;height:7px;border-radius:50%;background:#358267;display:inline-block;margin-right:6px}.avatar{width:32px;height:32px;border-radius:50%;background:#f2e6cc;display:grid;place-items:center;color:#775d31}.workspace{padding:28px 30px 40px}.pagehead{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:25px}.eyebrow{font-size:10px;text-transform:uppercase;color:#83958a;letter-spacing:2px;margin-bottom:9px}.subtitle{color:#708075;margin-top:9px;font-size:13px}.headtools{display:flex;align-items:center;gap:10px;padding-top:20px}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:22px}.metric{background:#fff;border:1px solid #e1e6df;border-radius:12px;padding:19px 21px}.metric .value{font-size:29px;font-weight:600;letter-spacing:-1px;margin:7px 0}.metric .value em{font-size:13px;color:#738579;font-style:normal;margin-left:4px;font-weight:400}.metric .hint{font-size:11px;color:#809084}.metric:nth-child(1){border-top:3px solid #1e7157}.grid2{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr);gap:20px}.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.panel{background:#fff;border:1px solid #e0e6dd;border-radius:13px;padding:22px;margin-bottom:20px}.panelhead{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;gap:12px}.badge{display:inline-block;padding:3px 9px;border-radius:6px;background:#ecf4ee;color:#2a7457;font-size:11px;white-space:nowrap}.badge.amber{background:#fff2da;color:#946215}.badge.red{background:#ffede8;color:#a24337}.badge.gray{background:#eef0ed;color:#758178}.badge.blue{background:#eaf1fc;color:#406999}.notice{padding:13px 17px;background:#f9f2df;color:#7a6029;border:1px solid #eee3c1;border-radius:9px;margin-bottom:20px;font-size:13px}.notice.teal{background:#eaf3ed;border-color:#d4e4d8;color:#3d6c50}.notice.red{background:#fff0eb;border-color:#edccc2;color:#9d4b38}.filterbar{display:flex;gap:10px;align-items:center;margin-bottom:20px;flex-wrap:wrap}.filterbar input{min-width:230px}.field,input,select,textarea{border:1px solid #dce3d9;border-radius:8px;padding:10px 12px;background:#fff;color:#20332d}input[type=checkbox]{min-width:auto}.tabs{display:flex;gap:6px;margin-bottom:20px;flex-wrap:wrap}.tabs button{border:0;background:none;color:#6b796f}.tabs button.active{background:#e6eee6;color:#185b43}.tablewrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:13px;white-space:nowrap}th{text-align:left;color:#7b897f;font-weight:400;background:#f7f9f5;font-size:12px}th,td{padding:15px 14px;border-bottom:1px solid #e9ede6}td strong{font-weight:600}td:last-child{color:#25674c}.pagination{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#8a968b;margin-top:18px}.row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 0;border-bottom:1px solid #edf0e9}.row:last-child{border:0}.row p{font-size:13px}.row small{display:block;margin-top:4px}.amount{font-variant-numeric:tabular-nums;font-weight:600}.bigamount{font-size:38px;font-weight:600;letter-spacing:-1px}.tablecards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.tablecard{border:1px solid #dce3db;border-top:4px solid #6da286;border-radius:12px;padding:19px;background:#fff;min-height:185px}.tablecard.dirty{border-top-color:#dcab50;background:#fffcf3}.tablecard.occupied{border-top-color:#8ea8b8}.tablecard.settled{border-top-color:#bd8b65}.tablecard .code{font-size:22px;font-weight:600}.tablecard .desc{font-size:12px;color:#718074;margin:12px 0}.tablecard button{width:100%;font-size:12px;margin-top:9px}.miniheader{display:flex;justify-content:space-between;align-items:center}.recommend{background:#eef5ec;border:1px solid #cddfcf;border-radius:12px;padding:24px}.recommend .number{font-size:55px;font-weight:600;letter-spacing:-2px;color:#226144}.recommend .match{display:flex;align-items:center;justify-content:space-between;margin:20px 0}.recommend .arrow{font-size:28px;color:#98b39d}.checks p{padding:8px 0;font-size:13px}.checks p:before{content:'✓';color:#397958;margin-right:12px}.timeline{border-left:2px solid #dfe8dc;margin-left:7px;padding-left:22px}.timeline div{padding:0 0 24px;position:relative;font-size:13px}.timeline div:before{content:'';position:absolute;left:-29px;top:5px;width:10px;height:10px;background:#78a281;border:2px solid white;border-radius:50%}.timeline small{display:block}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.formgrid label,.formlabel{display:block;color:#68786d;font-size:12px}.formgrid input,.formgrid select,.formgrid textarea{width:100%;margin-top:7px;font-size:14px}.full{grid-column:1/-1}.modegrid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.modecard{padding:24px 14px;text-align:left;border-radius:12px;background:#fff;min-height:150px}.modecard.selected{border:2px solid #397d5b;background:#f0f6ec}.modecard .symbol{font-size:26px;color:#38714f;margin-bottom:12px}.modecard small{display:block;margin-top:6px}.devicecard{padding:21px;background:#fff;border:1px solid #dfe5db;border-radius:12px}.deviceglyph{height:52px;width:65px;border:3px solid #547964;background:#e9f0e4;border-radius:9px;display:grid;place-items:center;margin-bottom:18px;font-size:12px;color:#547964}.devicecard h3{margin-bottom:6px}.devicecard .row{font-size:12px}.schedule{display:grid;grid-template-columns:70px repeat(6,1fr);gap:5px;font-size:11px}.schedule>div{min-height:57px;padding:10px 7px;background:#f5f7f1;border-radius:4px}.schedule .slot{background:#e3eee1;color:#356141}.schedule .hold{background:#fbefd4;color:#816429}.bargraph{display:flex;align-items:flex-end;gap:18px;height:170px;padding:15px 12px 28px;border-bottom:1px solid #e4e9de}.bargraph .bar{flex:1;background:#adccb0;border-radius:6px 6px 0 0;position:relative}.bargraph .bar:nth-child(4){background:#326d4e}.bargraph span{position:absolute;top:100%;padding-top:8px;font-size:10px;left:50%;transform:translateX(-50%);color:#8b978a}.statline{display:flex;gap:25px;margin-top:18px}.statline strong{display:block;font-size:19px}.footerhint{font-size:11px;color:#899587;margin-top:24px}.mobile-stage{padding:38px 20px;background:#e8ebe5;min-height:940px}.phone{width:390px;min-height:844px;background:#f9f8f3;margin:auto;position:relative;border-radius:24px;overflow:hidden;box-shadow:0 12px 55px #20302018;padding-bottom:82px}.statusbar{height:40px;padding:12px 23px 5px;display:flex;justify-content:space-between;font-size:12px;font-weight:600}.mobiletop{padding:11px 20px 18px;display:flex;align-items:center;justify-content:space-between;font-size:16px;font-weight:600}.capsule{border:1px solid #dbdfd6;border-radius:20px;padding:2px 13px;font-size:15px}.mobilecontent{padding:0 20px}.mobilehero{border-radius:18px;padding:27px 24px;background:#224e3a;color:#fff;position:relative;overflow:hidden;margin-bottom:20px}.mobilehero h1{font-size:28px;letter-spacing:1px;max-width:225px}.mobilehero p{font-size:12px;color:#d3e3d2;margin-top:12px}.mobilehero:after{content:'禾';position:absolute;font-size:110px;right:-10px;bottom:-28px;opacity:.12}.mobilehero .badge{background:#456948;color:#e4ead5;margin-bottom:18px}.mobilecontent .panel{padding:18px;border-color:#e8e9df;margin-bottom:15px}.mobilecontent .notice{font-size:12px}.mobilecontent h2{font-size:18px}.mobilecontent .row{font-size:13px;padding:14px 0}.mobilecontent .bigamount{font-size:31px}.mobilebuttons{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0}.mobilebuttons button{padding:17px 5px;font-size:13px}.mobilebuttons b{font-size:23px;display:block;color:#4e7253;margin-bottom:6px}.mobilebottom{position:absolute;bottom:0;left:0;right:0;padding:12px 20px 22px;background:#fff;border-top:1px solid #ebece2;display:flex;justify-content:space-between;gap:14px;align-items:center}.mobilebottom button{flex:1;min-height:46px;border-radius:12px}.mobilebottom .price{font-size:23px;font-weight:600;min-width:100px}.mobilebottom small{display:block;font-size:10px;font-weight:400}.mobilenav{display:flex;justify-content:space-around;position:absolute;bottom:0;left:0;right:0;background:#fff;border-top:1px solid #e9eadf;padding:14px 8px 23px;font-size:11px;color:#7b877b}.mobilenav a.active{color:#24694b;font-weight:600}.fooditem{display:grid;grid-template-columns:76px 1fr auto;gap:13px;padding:18px 0;border-bottom:1px solid #e6e8dd;align-items:center}.fooditem p{font-size:11px;color:#84917f;margin:4px 0}.fooditem button{padding:0;width:30px;min-height:30px;height:30px;border:0;background:#236447;color:#fff;border-radius:50%;font-size:20px}.foodart{width:76px;height:80px;border-radius:13px;display:grid;place-items:center;background:#efe2c2;font-size:32px;color:#8c682e;font-family:serif}.foodart.tea{background:#dae5c8;color:#527443}.foodart.dish{background:#f0ddcd;color:#ad684b}.foodart.bread{background:#f0e6d0;color:#b68b40}.productart{height:190px;border-radius:18px;background:linear-gradient(145deg,#e1e9cb,#c0d2ac);display:grid;place-items:center;margin-bottom:20px}.cup{width:100px;height:134px;border-radius:10px 10px 30px 30px;border-top:10px solid #547847;background:linear-gradient(#e9d49f 0 60%,#c2a268 61% 75%,#58462e 76%);transform:rotate(-8deg);box-shadow:12px 16px 0 #afc395;display:grid;place-items:center;color:#5c663b;font-size:20px;letter-spacing:3px}.options{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 20px}.options button{padding:8px 16px;font-size:12px;min-height:37px;background:#fff}.options button.selected{border-color:#377650;color:#286746;background:#eef4e6}.mobilecontent input,.mobilecontent select{width:100%;font-size:16px;margin:9px 0 18px}.ticket{text-align:center;padding:25px 12px;background:#fff;border:1px solid #e1e5d9;border-radius:17px;margin-bottom:20px}.ticket .bignum{font-size:69px;letter-spacing:3px;line-height:1.3;font-weight:600;color:#255d40;margin:15px 0}.ticket .rule{border-top:1px dashed #d7dece;margin-top:22px;padding-top:20px}.progresssteps{display:flex;justify-content:space-between;gap:5px;font-size:10px;margin:22px 0;color:#84927d}.progresssteps span{border-top:3px solid #bbcdb0;flex:1;padding-top:10px}.progresssteps span.current{border-color:#276443;color:#276443;font-weight:600}.claimcode{font:600 26px monospace;letter-spacing:6px;border:1px dashed #bdcbb3;border-radius:8px;padding:14px;margin:18px 0;background:#f7f9f0}.statebox{text-align:center;background:#fff;border:1px solid #e2e6dd;border-radius:12px;padding:50px 20px;min-height:230px}.statebox .stateicon{font-size:42px;color:#8ba281;margin-bottom:15px}.statebox p{color:#83917b;margin:12px 0 20px}.skeleton{height:20px;background:#e9eee3;border-radius:6px;margin:20px;width:80%}.kiosk-stage{background:#e7ece2;padding:35px;min-height:1200px}.kiosk{width:min(100%,760px);min-height:1320px;background:#fafaf4;margin:auto;border-radius:24px;overflow:hidden;padding:55px 58px;position:relative}.kioskhead{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #dee5d8;padding-bottom:30px;font-size:18px}.kioskhead b{font-size:33px;letter-spacing:5px;color:#25583d}.kiosk h1{font-size:43px;margin:75px 0 20px}.kiosk .intro{font-size:19px;color:#7a8b71;line-height:1.9}.kioskmenu{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:55px}.kioskmenu button{background:#edf3e5;border:1px solid #cbdac1;min-height:220px;border-radius:22px;font-size:24px;text-align:left;padding:30px}.kioskmenu button b{display:block;font-size:52px;color:#3e6f47;margin-bottom:15px}.kioskmenu button.primary{background:#255a3e;color:white}.kioskmenu button.primary b{color:#e1eccd}.kiosk .ticket{margin-top:60px;padding:40px}.kiosk .ticket .bignum{font-size:112px}.kiosk .primary.wide{width:100%;font-size:23px;height:85px;border-radius:16px;margin-top:35px}.kiosk input{width:100%;height:90px;font-size:34px;letter-spacing:9px;text-align:center;margin-top:45px}.kioskfoot{position:absolute;bottom:45px;left:58px;right:58px;border-top:1px solid #dfe5d8;padding-top:26px;color:#8a9981;display:flex;justify-content:space-between;font-size:15px}.display{min-height:1080px;background:#122e24;color:#f2f5e9;padding:55px 65px;display:flex;flex-direction:column}.displayheader{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #355343;padding-bottom:25px;font-size:20px}.displayheader .brand{padding:0;font-size:34px}.display h1{font-size:33px;color:#c4d4b5}.display .displaytitle{margin:46px 0 20px;color:#bdcdaa;font-size:24px}.displaymain{display:grid;grid-template-columns:1.6fr 1fr;gap:45px;flex:1;align-items:center}.displaycurrent{background:#214333;border-radius:26px;padding:55px 45px}.display .number{font-size:150px;font-weight:600;line-height:1.25;color:#e6eab1;letter-spacing:4px}.display .destination{font-size:28px;color:#c8d4bb;margin-top:25px}.displaylist .row{font-size:24px;border-color:#36503e;padding:27px 0}.displaylist strong{font-size:42px}.displayfooter{border-top:1px solid #355343;padding-top:27px;margin-top:30px;display:flex;justify-content:space-between;font-size:20px;color:#a8b99b}.displaymixed{display:grid;grid-template-columns:1fr 1fr;gap:40px;flex:1;align-items:center}.displaymixed .number{font-size:115px}.displaymixed .displaycurrent:last-child{background:#493e27}.displaymixed h2{font-size:28px;color:#c6d4b4}.led{text-align:center;background:#151b15;border:7px solid #344630;border-radius:14px;padding:65px 35px;color:#f4c665;margin:100px 0 55px;font-family:monospace}.led .number{color:#f4c665;font-size:150px}.kds{min-height:1000px;background:#152721;color:#e5eee3;padding:28px}.kdshead{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #35453c;padding-bottom:25px;margin-bottom:25px}.kdshead h1{font-size:27px}.kds .tabs button{color:#bdc8b9}.kds .tabs button.active{background:#3c5540;color:#fff}.kanban{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.lane>h2{font-size:15px;color:#aebfad;margin:0 0 17px}.kdscard{background:#f6f7ee;color:#253c2b;border-radius:12px;overflow:hidden;margin-bottom:20px;border-top:5px solid #96b37e}.kdscard.urgent{border-top-color:#dfa85d}.kdscard header{padding:20px;display:flex;justify-content:space-between;border-bottom:1px solid #dfe5d4}.kdscard header strong{font-size:25px}.kdscard section{padding:3px 20px 20px}.kdscard .row{border-color:#dfe4d6}.kdscard button{width:100%;font-size:16px;min-height:50px;margin-top:15px}.kds .panel{color:#283d2c;background:#f6f7ee}.kds .notice{background:#514329;border-color:#665132;color:#f7ddb1}.kds .grid2{grid-template-columns:1.5fr 1fr}.login{min-height:900px;display:grid;grid-template-columns:1fr 1fr;background:#f8f9f3}.loginhero{background:#244b36;padding:90px 70px;color:#fff}.loginhero h1{font-size:45px;line-height:1.6;margin-top:125px}.loginhero p{color:#c1d2b4;font-size:16px;margin-top:25px}.loginbox{padding:140px 90px}.loginbox input{width:100%;margin:10px 0 20px}.loginbox h1{margin-bottom:18px}.loginbox .primary{width:100%;margin-top:25px}.loginmark{font-size:170px;color:#8aab76;opacity:.25;margin-top:80px}dialog{border:0;border-radius:16px;padding:25px;width:min(540px,calc(100vw - 30px));box-shadow:0 20px 100px #122c3040;color:#243a2d}dialog::backdrop{background:#10241b66}.modalhead{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.modalhead .close{border:0;font-size:23px;padding:0 10px}#modalBody p{margin-bottom:16px;color:#6a7d6b}#modalBody input,#modalBody select,#modalBody textarea{width:100%;margin:8px 0 15px}#modalBody label{font-size:13px}.modalfoot{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}#toast{display:none;position:fixed;bottom:30px;left:50%;transform:translateX(-50%);padding:15px 23px;border-radius:12px;background:#163d2f;color:#fff;box-shadow:0 6px 30px #163d2f40;z-index:50;max-width:90vw}.export .phone{box-shadow:none;border-radius:0;width:390px}.export .mobile-stage{padding:0;min-height:844px}.export .kiosk-stage{padding:0}.export .kiosk{border-radius:0;width:1080px;min-height:1920px;padding:80px}.export .kiosk h1{margin-top:150px}.export .kioskmenu{margin-top:90px}.export .kioskmenu button{min-height:300px}.export .kioskfoot{left:80px;right:80px;bottom:65px}.export .kiosk .ticket{padding:80px;margin-top:110px}.export .kiosk .ticket .bignum{font-size:155px}.export .kiosk .intro{font-size:24px}.export .kiosk .kioskhead{font-size:24px}.export .kiosk .kioskhead b{font-size:45px}.export .kiosk input{margin-top:80px}.export .kiosk .primary.wide{margin-top:60px}.export .display{min-height:1080px}.export .kds{min-height:1000px}
@media(max-width:1000px){.shell{grid-template-columns:176px minmax(0,1fr)}.workspace{padding:24px 18px}.topbar{padding:0 18px}.metrics{grid-template-columns:repeat(2,1fr)}.tablecards,.modegrid{grid-template-columns:repeat(2,1fr)}.grid2{grid-template-columns:1fr}.grid3{grid-template-columns:repeat(2,1fr)}.headtools{padding-top:0}.pagehead{flex-wrap:wrap}.display{padding:30px;min-height:800px}.display .number{font-size:95px}.displaymixed .number{font-size:70px}.displaycurrent{padding:30px}.displaymain{gap:20px}.kds .kanban{gap:12px}.loginbox{padding:100px 35px}.loginhero{padding:60px 30px}.loginhero h1{font-size:35px}}
@media(max-width:650px){#preview{padding:12px;gap:10px}#preview strong{width:100%}#preview select{max-width:185px}.shell{display:block}.sidebar{display:none}.topbar{height:auto;min-height:65px;padding:14px;gap:10px;flex-wrap:wrap}.topbar .right{font-size:11px}.workspace{padding:22px 14px}.metrics{gap:10px}.metric{padding:14px}.metric .value{font-size:25px}.tablecards{gap:10px}.tablecard{padding:14px}.grid3,.formgrid,.kanban,.kds .grid2,.displaymain,.displaymixed{grid-template-columns:1fr}.phone{width:min(390px,100%);border-radius:0}.mobile-stage{padding:0}.mobilecontent{padding:0 16px}.mobilebottom{padding-left:16px;padding-right:16px}.kiosk-stage{padding:0}.kiosk{border-radius:0;padding:28px 20px;min-height:1120px}.kiosk h1{font-size:31px;margin-top:55px}.kiosk .intro{font-size:15px}.kioskmenu{gap:12px}.kioskmenu button{padding:18px;min-height:170px;font-size:19px}.kioskfoot{left:20px;right:20px;font-size:12px}.display{padding:25px 20px}.displayheader{font-size:13px}.displayheader .brand{font-size:24px}.display .number{font-size:85px}.display .destination{font-size:20px}.displayfooter{font-size:12px}.displaymixed{margin-top:30px}.led{padding:40px 15px;margin-top:50px}.led .number{font-size:74px}.kds{padding:18px}.kdshead{flex-wrap:wrap;gap:15px}.login{display:block}.loginhero{display:none}.loginbox{padding:70px 30px}.filterbar input{min-width:0;width:100%}.schedule{overflow:auto}.panel{padding:17px}}

.brand small{letter-spacing:1px;white-space:nowrap;font-size:9px}.display .brand{white-space:nowrap}
html:has(body.export){scrollbar-width:none}html:has(body.export)::-webkit-scrollbar{display:none}.export .phone{width:min(390px,100%)}.mobilecontent .fooditem{min-width:0}.fooditem>div{min-width:0}
.statebox{color:#243a2d}
