:root{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",sans-serif;color:#171717;background:#f7f7f7;--orange:#ff7a00;--orange-soft:#fff1e4;--green:#27ae60;--blue:#2f80ed;--line:#ececec;--muted:#7d7d7d;--card:#fff}*{box-sizing:border-box}body{margin:0;background:#f7f7f7}.app{min-height:100dvh;padding-bottom:calc(76px + env(safe-area-inset-bottom))}button,input,textarea{font:inherit}.topbar{height:58px;padding:env(safe-area-inset-top) 16px 0;display:grid;grid-template-columns:36px 1fr 36px;align-items:center;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.topbar h1{font-size:18px;text-align:center;margin:0}.iconbtn{border:0;background:transparent;font-size:24px}.content{padding:14px 14px 22px}.login-page{min-height:100dvh;background:linear-gradient(#fff,#faf7f2);padding:calc(48px + env(safe-area-inset-top)) 18px 30px;display:flex;flex-direction:column}.brand-block{text-align:center;margin:26px 0 28px}.logo-mark{width:92px;height:92px;border-radius:50%;display:grid;place-items:center;margin:auto;background:#fff5e8;font-size:48px}.brand-name{font-size:31px;font-weight:800;margin-top:8px}.brand-sub{color:var(--orange);font-size:13px;font-weight:700}.login-card{background:#fff;border-radius:18px;padding:18px;box-shadow:0 10px 35px rgba(0,0,0,.06)}label{font-size:13px;font-weight:700;display:block;margin-bottom:15px}input,textarea{width:100%;border:1px solid #e5e5e5;border-radius:12px;padding:13px 14px;background:#fff;margin-top:7px;outline:none}.password-wrap{position:relative}.password-wrap span{position:absolute;right:14px;top:20px;color:#999}.primary,.secondary{border:0;border-radius:12px;padding:14px 16px;font-weight:800}.primary{background:linear-gradient(90deg,#ff8500,#ff7200);color:#fff}.secondary{background:#f1f1f1;color:#222}.wide{width:100%}.danger{color:#d33}.login-meta{display:flex;justify-content:space-between;align-items:center;margin-top:13px;color:#777}.login-meta label{margin:0;font-weight:500}.login-meta input{width:auto;margin:0}.textbtn{border:0;background:none;color:#777}.login-page footer{text-align:center;color:#aaa;font-size:11px;margin-top:auto}.system-card,.revenue-card,.option-block,.totals,.order-hero,.report-hero{background:#fff;border-radius:16px;padding:15px;box-shadow:0 3px 14px rgba(0,0,0,.04)}.system-card h2,.section-heading{font-size:15px;margin:0 0 12px}.system-row{display:flex;justify-content:space-between;padding:10px 0;border-top:1px solid #f1f1f1;font-size:14px}.system-row:first-of-type{border-top:0}.system-row b{font-size:12px;color:#777}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:8px}.dot.green{background:var(--green)}.dot.orange{background:var(--orange)}.dot.blue-dot{background:var(--blue)}.dot.gray{background:#aaa}.section-heading{margin:18px 2px 10px}.summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.summary-grid article{background:#fff;border-radius:14px;padding:14px;display:flex;justify-content:space-between;align-items:end}.summary-grid span{font-size:12px}.summary-grid b{font-size:27px;color:var(--orange)}.summary-grid .blue{color:var(--blue)}.summary-grid .green-text{color:var(--green)}.summary-grid .orange-text{color:#f2994a}.revenue-card{margin-top:10px;display:flex;justify-content:space-between;align-items:end}.revenue-card span,.revenue-card small{font-size:12px;color:#777}.revenue-card b{display:block;font-size:20px;margin-top:4px}.revenue-card em,.report-hero em{color:var(--green);font-style:normal}.quick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.quick-grid button{border:0;background:#fff;border-radius:14px;padding:13px 5px;font-size:24px}.quick-grid button span{display:block;font-size:11px;margin-top:7px}.bottomnav{position:fixed;left:0;right:0;bottom:0;height:calc(68px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);display:grid;grid-template-columns:repeat(5,1fr);background:rgba(255,255,255,.97);border-top:1px solid var(--line);z-index:30}.navbtn{border:0;background:none;color:#999;font-size:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px}.navbtn span{font-size:19px}.navbtn.active{color:var(--orange);font-weight:800}.searchbox{background:#efefef;border-radius:10px;color:#999;padding:11px 13px;font-size:13px}.category-row{display:flex;overflow:auto;gap:22px;border-bottom:1px solid var(--line);margin-top:10px}.category-row button{border:0;background:none;padding:12px 0;color:#666;white-space:nowrap}.category-row button.active{color:var(--orange);font-weight:800;border-bottom:2px solid var(--orange)}.menu-list{background:#fff;border-radius:14px;margin-top:12px;overflow:hidden}.menu-item{display:grid;grid-template-columns:58px 1fr 34px;gap:10px;align-items:center;padding:12px;border-bottom:1px solid #f0f0f0}.menu-item.disabled{opacity:.45}.food-thumb{width:54px;height:54px;border-radius:12px;background:#fff3e7;display:grid;place-items:center;font-size:29px}.menu-copy h3,.cart-copy h3{font-size:14px;margin:0 0 4px}.menu-copy p,.cart-copy p{font-size:11px;color:#999;margin:0 0 5px}.menu-copy b{font-size:13px}.add-round{border:0;width:30px;height:30px;border-radius:50%;background:var(--orange);color:#fff;font-size:19px}.cartbar{position:fixed;left:14px;right:14px;bottom:calc(70px + env(safe-area-inset-bottom));z-index:35;background:linear-gradient(90deg,#ff8200,#ff7100);color:#fff;border:0;border-radius:15px;padding:15px 17px;display:flex;justify-content:space-between;font-weight:800;box-shadow:0 8px 25px rgba(255,122,0,.3)}.detail-page{padding-bottom:100px}.hero-food{height:225px;border-radius:0 0 18px 18px;background:linear-gradient(135deg,#fff2df,#f3e5cf);display:grid;place-items:center;font-size:108px;margin:-14px -14px 0}.detail-head{display:flex;justify-content:space-between;gap:14px;padding:18px 2px}.detail-head h2{font-size:20px;margin:0 0 5px}.detail-head p{font-size:12px;color:#888;margin:0}.detail-head b{color:var(--orange);font-size:19px}.option-block{margin-bottom:12px}.option-block h3{font-size:15px;margin:0 0 12px}.option-block h3 em{font-style:normal;font-size:10px;color:var(--orange);background:var(--orange-soft);padding:3px 6px;border-radius:5px}.option-block h3 small{color:#999;font-weight:500}.segmented,.choice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.segmented button,.choice-grid button{border:1px solid #e7e7e7;background:#fff;border-radius:10px;padding:11px 6px;font-size:12px}.segmented button.active,.choice-grid button.active{border-color:var(--orange);background:var(--orange-soft);color:var(--orange);font-weight:800}.check-row{display:grid;grid-template-columns:24px 1fr auto;align-items:center;margin:0;padding:11px 0;border-top:1px solid #f1f1f1;font-weight:500}.check-row input{width:auto;margin:0}.check-row b{font-size:12px;color:#777}.option-block textarea{min-height:76px;resize:none}.qty-row{display:flex;justify-content:space-between;align-items:center;background:#fff;border-radius:15px;padding:13px 15px}.qty-row div{display:flex;align-items:center;gap:15px}.qty-row button{width:30px;height:30px;border:0;border-radius:9px;background:#f1f1f1}.sticky-action{position:fixed;left:14px;right:14px;bottom:calc(14px + env(safe-area-inset-bottom));z-index:40}.cart-page{padding-bottom:95px}.cart-list,.totals{background:#fff;border-radius:15px;overflow:hidden}.cart-item{display:grid;grid-template-columns:58px 1fr 28px;gap:10px;padding:13px;border-bottom:1px solid #f0f0f0}.cart-copy div{display:flex;justify-content:space-between}.remove{border:0;background:none;color:#aaa;font-size:20px}.totals{margin-top:12px}.totals div{display:flex;justify-content:space-between;padding:8px 0;font-size:13px}.totals .grand{font-size:18px;font-weight:800;border-top:1px solid #eee;margin-top:6px;padding-top:13px}.cart-actions{display:grid;grid-template-columns:1fr 1.5fr;gap:10px;position:fixed;left:14px;right:14px;bottom:calc(14px + env(safe-area-inset-bottom));z-index:40}.checkout-page .option-block input{margin-bottom:8px}.checkout-page .choice-grid{grid-template-columns:repeat(3,1fr)}.empty-state{text-align:center;color:#999;padding:34px}.success-page{text-align:center;padding-top:54px}.success-icon{width:78px;height:78px;border-radius:50%;background:var(--green);color:#fff;display:grid;place-items:center;font-size:42px;margin:auto}.success-page h2{font-size:24px}.success-page p{color:#777;margin-bottom:6px}.success-page>strong{font-size:34px;color:var(--orange)}.success-note{background:#fff;border-radius:15px;padding:18px;margin:24px 0;color:#555;line-height:1.7}.success-page button{margin-top:10px}.order-tabs{gap:18px}.order-list{display:grid;gap:10px;margin-top:12px}.order-card,.job-card{width:100%;text-align:left;border:0;background:#fff;border-radius:15px;padding:14px;box-shadow:0 3px 12px rgba(0,0,0,.04)}.order-card>div,.job-card>div,.order-card footer{display:flex;justify-content:space-between}.order-card h3{margin:8px 0 4px;font-size:14px}.order-card p,.job-card p{margin:0 0 10px;color:#999;font-size:12px}.order-card em,.status{font-style:normal;font-size:11px;border-radius:999px;padding:4px 8px;background:#fff0df;color:var(--orange)}.status.待處理{background:#eaf3ff;color:var(--blue)}.status.待取餐{background:#e9f7ef;color:var(--green)}.order-hero h2{margin:0}.order-hero>div{display:flex;justify-content:space-between;align-items:center}.order-hero dl{margin:14px 0 0}.order-hero dl div{display:flex;justify-content:space-between;padding:8px 0;border-top:1px solid #f1f1f1}.order-hero dt{color:#888;font-size:12px}.order-hero dd{margin:0;font-size:13px}.detail-line{display:flex;justify-content:space-between;padding:10px 0;border-top:1px solid #f1f1f1;font-size:13px}.total-line{font-size:17px;font-weight:800}.triple-actions{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}.legend{display:flex;flex-wrap:wrap;gap:12px;background:#fff;border-radius:14px;padding:12px;font-size:11px}.table-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0}.table-card{border:0;border-radius:15px;min-height:92px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:#dff3e5}.table-card.使用中{background:#ffe0b7}.table-card.預約{background:#dcecff}.table-card.清潔中{background:#e8e8e8}.table-card strong{font-size:16px}.table-card span{font-size:11px;color:#666}.soldout-list{background:#fff;border-radius:15px;margin-top:12px;overflow:hidden}.soldout-list article{display:flex;justify-content:space-between;align-items:center;padding:13px 14px;border-bottom:1px solid #f0f0f0}.soldout-list h3{font-size:14px;margin:0 0 4px}.soldout-list p{font-size:11px;color:#999;margin:0}.switch{margin:0}.switch input{display:none}.switch span{width:48px;height:28px;border-radius:999px;background:#ccc;display:block;position:relative}.switch span:after{content:"";position:absolute;width:22px;height:22px;border-radius:50%;background:#fff;top:3px;left:3px;transition:.2s}.switch input:checked+span{background:var(--green)}.switch input:checked+span:after{left:23px}.bulk-actions{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:8px;position:fixed;left:14px;right:14px;bottom:calc(14px + env(safe-area-inset-bottom))}.report-hero span,.report-hero small{font-size:12px;color:#777}.report-hero strong{display:block;font-size:25px;margin:7px 0}.sparkline{font-size:29px;color:var(--orange);text-align:right;margin-top:6px}.report-list,.more-list{display:grid;gap:1px;background:#fff;border-radius:15px;overflow:hidden;margin-top:12px}.report-list button,.more-list button{border:0;background:#fff;display:grid;grid-template-columns:32px 1fr 20px;align-items:center;text-align:left;padding:15px;border-bottom:1px solid #f1f1f1}.report-list b,.more-list b{font-size:14px}.report-list em,.more-list em{font-style:normal;color:#aaa;text-align:right}.job-card button{margin-top:8px}.more-list{margin-top:0}.generic .system-card{margin-top:12px}@media(min-width:700px){.content,.topbar,.bottomnav,.cartbar,.sticky-action,.cart-actions,.bulk-actions{max-width:430px;margin-left:auto;margin-right:auto}.app{max-width:430px;margin:auto;background:#f7f7f7;box-shadow:0 0 40px rgba(0,0,0,.08)}}