*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0;padding:0}body{color:#1c1c1e;-webkit-font-smoothing:antialiased;background:#f4f5f7;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}button{cursor:pointer;font-family:inherit}input,textarea,select{font-family:inherit;font-size:16px}a{color:inherit}h1,h2,h3,p{margin:0}.cust{--accent:#b91c1c;--bg:#f4f5f7;--btn-text:#fff;--accent-soft:color-mix(in srgb, var(--accent) 9%, #fff);background:var(--bg);max-width:640px;min-height:100vh;margin:0 auto;padding:0 0 140px}.cust-banner{object-fit:cover;width:100%;height:150px;display:block}.cust-header{background:var(--accent);color:#fff;align-items:center;gap:16px;padding:24px 20px 28px;display:flex}.cust-logo{letter-spacing:1px;background:#fff3;border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:56px;height:56px;font-size:22px;font-weight:700;display:flex}.cust-logo-img{object-fit:cover;background:#fff;border-radius:14px;flex-shrink:0;width:60px;height:60px}.cust-header h1{font-size:24px;font-weight:700}.cust-header p{opacity:.9;margin-top:2px;font-size:14px}.menu{flex-direction:column;gap:12px;padding:16px;display:flex}.menu-section-label{text-transform:uppercase;letter-spacing:.5px;color:#8a8a8e;margin:8px 4px 0;font-size:13px;font-weight:600}.item-card{background:#fff;border:1px solid #e7e7ea;border-radius:14px;justify-content:space-between;align-items:center;gap:12px;padding:16px;display:flex}.item-card h3{font-size:16px;font-weight:600}.item-card .sub{color:#8a8a8e;margin-top:3px;font-size:13px}.item-card .price{white-space:nowrap;font-weight:700}.btn{background:var(--accent);color:var(--btn-text);border:none;border-radius:10px;padding:10px 16px;font-size:15px;font-weight:600}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-ghost{color:#1c1c1e;background:#f0f0f2}.btn-block{border-radius:12px;width:100%;padding:15px;font-size:16px}.cart-bar{padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid #e7e7ea;align-items:center;gap:12px;max-width:640px;margin:0 auto;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 20px #0000000f}.cart-bar .summary{flex:1}.cart-bar .summary .count{color:#8a8a8e;font-size:13px}.cart-bar .summary .total{font-size:18px;font-weight:700}.overlay{z-index:50;background:#00000073;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{width:100%;max-width:640px;max-height:92vh;padding:20px 18px calc(24px + env(safe-area-inset-bottom));background:#fff;border-radius:18px 18px 0 0;overflow-y:auto}.sheet-head{justify-content:space-between;align-items:flex-start;margin-bottom:4px;display:flex}.sheet-head h2{font-size:20px;font-weight:700}.sheet-head .close{color:#8a8a8e;background:0 0;border:none;padding:0 4px;font-size:26px;line-height:1}.tiers{flex-direction:column;gap:10px;margin:14px 0;display:flex}.tier{text-align:left;background:#fff;border:2px solid #e7e7ea;border-radius:12px;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;display:flex}.tier.active{border-color:var(--accent);background:var(--accent-soft)}.tier .tier-price{font-size:16px;font-weight:700}.tier .tier-desc{color:#6b6b70;margin-top:2px;font-size:13px}.group{margin:18px 0 4px}.group-head{justify-content:space-between;align-items:baseline;margin-bottom:8px;display:flex}.group-head .gname{font-size:15px;font-weight:600}.group-head .remaining{color:var(--accent);font-size:13px;font-weight:600}.group-head .remaining.done{color:#16a34a}.tiles{grid-template-columns:1fr 1fr;gap:8px;display:grid}.tile{text-align:center;background:#fafafa;border:1px solid #e0e0e3;border-radius:10px;justify-content:center;align-items:center;min-height:48px;padding:12px 10px;font-size:14px;font-weight:500;display:flex;position:relative}.tile.selected{border-color:var(--accent);background:var(--accent-soft)}.tile.dim{opacity:.4}.tile .badge{background:var(--accent);color:var(--btn-text);border-radius:999px;justify-content:center;align-items:center;min-width:22px;height:22px;padding:0 6px;font-size:12px;font-weight:700;display:flex;position:absolute;top:-7px;right:-7px}.tile .minus{color:#fff;background:#1c1c1e;border:none;border-radius:999px;justify-content:center;align-items:center;width:22px;height:22px;font-size:14px;line-height:1;display:flex;position:absolute;top:-7px;left:-7px}.cart-line{border-bottom:1px solid #eee;gap:12px;padding:12px 0;display:flex}.cart-line .info{flex:1}.cart-line .info .nm{font-size:15px;font-weight:600}.cart-line .info .dt{color:#6b6b70;margin-top:3px;font-size:13px}.cart-line .info .lp{color:#8a8a8e;margin-top:3px;font-size:13px}.qty{align-items:center;gap:10px;display:flex}.qty button{background:#f6f6f8;border:1px solid #ddd;border-radius:8px;width:30px;height:30px;font-size:18px;line-height:1}.qty .n{text-align:center;min-width:18px;font-weight:600}.totals{margin:16px 0;font-size:15px}.totals .row{justify-content:space-between;padding:4px 0;display:flex}.totals .row.grand{border-top:1px solid #eee;margin-top:6px;padding-top:10px;font-size:18px;font-weight:700}.field{margin:12px 0}.field label{margin-bottom:6px;font-size:14px;font-weight:600;display:block}.field input,.field textarea,.field select{background:#fff;border:1px solid #d8d8db;border-radius:10px;width:100%;padding:12px}.field .err{color:var(--accent);margin-top:4px;font-size:13px}.type-toggle{gap:8px;display:flex}.type-toggle button{background:#fff;border:2px solid #e7e7ea;border-radius:10px;flex:1;padding:12px;font-weight:600}.type-toggle button.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.center-msg{text-align:center;color:#8a8a8e;padding:60px 20px}.ed{max-width:820px;margin:0 auto;padding:16px 16px 80px}.ed-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.ed-top h1{font-size:20px;font-weight:700}.ed-top .links{flex-wrap:wrap;gap:8px;display:flex}.ed-link{color:#1c1c1e;background:#fff;border:1px solid #ddd;border-radius:9px;padding:8px 12px;font-size:14px;font-weight:600;text-decoration:none}.card{background:#fff;border:1px solid #e7e7ea;border-radius:14px;margin-bottom:16px;padding:18px}.card>h2{margin-bottom:12px;font-size:16px;font-weight:800}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.row.tight{gap:6px}.grow{flex:1;min-width:120px}label.fld{margin:10px 0 4px;font-size:13px;font-weight:600;display:block}input.t,select.t,textarea.t{background:#fff;border:1px solid #d8d8db;border-radius:9px;width:100%;padding:10px}input.sm{width:90px}.btn2{cursor:pointer;border:none;border-radius:9px;padding:9px 13px;font-size:14px;font-weight:700}.btn2.primary{color:#fff;background:#b91c1c}.btn2.ghost{color:#1c1c1e;background:#f0f0f2}.btn2.tiny{padding:6px 10px;font-size:13px}.btn2.danger{color:#991b1b;background:#fee2e2}.btn2:disabled{opacity:.5;cursor:not-allowed}.subcard{background:#fafafa;border:1px solid #ececef;border-radius:11px;margin-bottom:10px;padding:12px}.subcard .hd{align-items:center;gap:10px;margin-bottom:8px;display:flex}.chips{flex-wrap:wrap;gap:8px;margin:6px 0;display:flex}.chip{background:#fff;border:1px solid #ddd;border-radius:999px;align-items:center;gap:6px;padding:5px 6px 5px 12px;font-size:14px;display:inline-flex}.chip button{cursor:pointer;background:#f0f0f2;border:none;border-radius:999px;width:22px;height:22px;font-size:14px}.tier-row{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;display:flex}.pick-row{align-items:center;gap:8px;margin:6px 0;padding-left:12px;display:flex}.muted{color:#8a8a8e;font-size:13px}.toast{color:#fff;z-index:80;background:#1c1c1e;border-radius:999px;padding:10px 18px;font-size:14px;position:fixed;bottom:18px;left:50%;transform:translate(-50%)}.type-seg{border:1px solid #ddd;border-radius:9px;display:inline-flex;overflow:hidden}.type-seg button{cursor:pointer;background:#fff;border:none;padding:8px 14px;font-weight:600}.type-seg button.on{color:#fff;background:#b91c1c}.status{max-width:560px;margin:0 auto;padding:24px 18px 60px}.status-head h1{font-size:22px;font-weight:700}.status-head .meta{color:#8a8a8e;margin-top:4px;font-size:14px}.timers{gap:12px;margin:18px 0;display:flex}.timer-card{text-align:center;background:#fff;border:1px solid #e7e7ea;border-radius:12px;flex:1;padding:12px 14px}.timer-card .lbl{text-transform:uppercase;letter-spacing:.4px;color:#8a8a8e;font-size:12px}.timer-card .val{font-variant-numeric:tabular-nums;margin-top:4px;font-size:22px;font-weight:700}.banner{text-align:center;border-radius:14px;margin:18px 0;padding:16px 18px;font-size:17px;font-weight:700}.banner.ready{color:#92400e;background:#fef3c7}.banner.done{color:#166534;background:#dcfce7}.stages{background:#fff;border:1px solid #e7e7ea;border-radius:14px;padding:6px 0}.stage{border-bottom:1px solid #f0f0f2;align-items:center;gap:14px;padding:14px 18px;display:flex}.stage:last-child{border-bottom:none}.dot{color:#fff;background:#fff;border:2px solid #d8d8db;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;font-size:14px;display:flex}.stage.done .dot{background:#16a34a;border-color:#16a34a}.stage.current .dot{background:#b91c1c;border-color:#b91c1c}.stage .lbl{color:#8a8a8e;font-size:16px}.stage.done .lbl{color:#1c1c1e}.stage.current .lbl{color:#b91c1c;font-weight:700}.stage.current .sub{color:#b91c1c;opacity:.8;font-size:13px;font-weight:400}.summary-box{background:#fff;border:1px solid #e7e7ea;border-radius:14px;margin-top:18px;padding:16px 18px}.summary-box h2{margin-bottom:10px;font-size:15px;font-weight:700}.summary-box .line{justify-content:space-between;padding:6px 0;font-size:14px;display:flex}.summary-box .line .d{color:#6b6b70;font-size:13px}.summary-box .grand{border-top:1px solid #eee;margin-top:6px;padding-top:10px;font-weight:700}.live-pill{color:#16a34a;align-items:center;gap:6px;font-size:12px;font-weight:600;display:inline-flex}.live-pill .blip{background:#16a34a;border-radius:999px;width:8px;height:8px;animation:1.4s infinite blink}@keyframes blink{0%,to{opacity:1}50%{opacity:.3}}.confirm-btn{color:#fff;background:#16a34a;border:none;border-radius:12px;width:100%;margin:4px 0 8px;padding:15px;font-size:16px;font-weight:700}.confirm-btn:disabled{opacity:.5}.review-box{background:#fff;border:1px solid #e7e7ea;border-radius:14px;margin:18px 0;padding:18px}.review-box h2{margin-bottom:4px;font-size:17px;font-weight:700}.review-box p.hint{color:#8a8a8e;margin-bottom:12px;font-size:14px}.stars{gap:6px;margin-bottom:12px;display:flex}.star{cursor:pointer;color:#d8d8db;background:0 0;border:none;padding:0;font-size:34px;line-height:1}.star.on{color:#f59e0b}.review-box textarea{border:1px solid #d8d8db;border-radius:10px;width:100%;margin-bottom:12px;padding:12px}.review-box .submit{color:#fff;background:#b91c1c;border:none;border-radius:10px;width:100%;padding:13px;font-size:15px;font-weight:700}.review-box .submit:disabled{opacity:.5}.review-saved{text-align:center}.review-saved .big-stars{color:#f59e0b;letter-spacing:2px;font-size:26px}.review-saved .cmt{color:#444;margin:8px 0 4px;font-style:italic}.share-row{gap:10px;margin-top:14px;display:flex}.share-btn{text-align:center;color:#fff;border-radius:10px;flex:1;padding:12px;font-size:14px;font-weight:700;text-decoration:none}.share-btn.fb{background:#1877f2}.share-btn.ig{background:#d6249f}.copy-btn{background:#f6f6f8;border:1px solid #ddd;border-radius:10px;width:100%;margin-top:10px;padding:11px;font-weight:600}.kb{max-width:1100px;margin:0 auto;padding:16px}.kb-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.kb-top h1{font-size:20px;font-weight:700}.kb-top .links{flex-wrap:wrap;gap:8px;display:flex}.kb-link{color:#1c1c1e;background:#fff;border:1px solid #ddd;border-radius:9px;padding:8px 12px;font-size:14px;font-weight:600;text-decoration:none}.kb-link.signout{background:#f6f6f8}.kb-summary{flex-wrap:wrap;gap:12px;margin-bottom:18px;display:flex}.kb-stat{background:#fff;border:1px solid #e7e7ea;border-radius:12px;flex:1;min-width:130px;padding:14px 16px}.kb-stat .n{font-size:26px;font-weight:800}.kb-stat .l{color:#8a8a8e;text-transform:uppercase;letter-spacing:.4px;font-size:13px}.kb-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;display:grid}.kb-empty{text-align:center;color:#8a8a8e;padding:50px 20px}.ocard{background:#fff;border:1px solid #e7e7ea;border-left:5px solid #cbd5e1;border-radius:14px;flex-direction:column;gap:10px;padding:16px;display:flex}.ocard.flag-delivery{border-left-color:#2563eb}.ocard.flag-ontime{border-left-color:#16a34a}.ocard.flag-late{border-left-color:#d97706}.ocard.flag-urgent{border-left-color:#dc2626}.ocard-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.ocard-head .num{font-size:18px;font-weight:800}.ocard-head .who{color:#444;font-size:14px}.flag{text-transform:uppercase;letter-spacing:.4px;white-space:nowrap;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:800}.flag.delivery{color:#1e40af;background:#dbeafe}.flag.ontime{color:#166534;background:#dcfce7}.flag.late{color:#92400e;background:#fef3c7}.flag.urgent{color:#991b1b;background:#fee2e2}.stage-pill{color:#334155;background:#f1f5f9;border-radius:999px;width:fit-content;padding:3px 9px;font-size:12px;font-weight:700;display:inline-block}.olines{font-size:14px;line-height:1.5}.olines .ol{padding:3px 0}.olines .ol .det{color:#6b6b70;font-size:13px}.onote{color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:8px;padding:8px 10px;font-size:13px}.oaddr{color:#444;font-size:13px}.ometa{color:#8a8a8e;flex-wrap:wrap;justify-content:space-between;gap:8px;font-size:12px;display:flex}.ototal{font-size:15px;font-weight:700}.ototal .fee{color:#8a8a8e;font-size:12px;font-weight:400}.oactions{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.oactions button,.oactions a{text-align:center;cursor:pointer;border:none;border-radius:9px;padding:9px 12px;font-size:14px;font-weight:700;text-decoration:none}.act-advance{color:#fff;background:#b91c1c;flex:1}.act-back{color:#1c1c1e;background:#f0f0f2}.act-notify{color:#fff;background:#25d366}.oactions button:disabled{opacity:.4;cursor:not-allowed}.sl{max-width:820px;margin:0 auto;padding:16px 16px 80px}.sl-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.sl-top h1{font-size:20px;font-weight:700}.sl-top .links{flex-wrap:wrap;gap:8px;display:flex}.sl-link{color:#1c1c1e;background:#fff;border:1px solid #ddd;border-radius:9px;padding:8px 12px;font-size:14px;font-weight:600;text-decoration:none}.sl-cards{flex-wrap:wrap;gap:12px;margin-bottom:18px;display:flex}.sl-card{background:#fff;border:1px solid #e7e7ea;border-radius:14px;flex:1;min-width:150px;padding:16px}.sl-card.total{color:#fff;background:#b91c1c;border-color:#b91c1c}.sl-card .l{text-transform:uppercase;letter-spacing:.4px;opacity:.8;font-size:13px}.sl-card .v{margin-top:4px;font-size:26px;font-weight:800}.sl-card .s{opacity:.7;margin-top:2px;font-size:12px}.splitbar-wrap{background:#fff;border:1px solid #e7e7ea;border-radius:14px;margin-bottom:18px;padding:16px}.splitbar-wrap h2{margin-bottom:12px;font-size:15px;font-weight:800}.splitbar{background:#eee;border-radius:999px;height:26px;display:flex;overflow:hidden}.splitbar .seg-pickup{background:#16a34a}.splitbar .seg-delivery{background:#2563eb}.split-legend{gap:18px;margin-top:10px;font-size:13px;display:flex}.split-legend .dot{border-radius:3px;width:10px;height:10px;margin-right:6px;display:inline-block}.split-legend .pickup{background:#16a34a}.split-legend .delivery{background:#2563eb}.fee-note{color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:12px;margin-bottom:18px;padding:12px 14px;font-size:14px}.sl-list{background:#fff;border:1px solid #e7e7ea;border-radius:14px;padding:6px 0}.sl-list h2{padding:12px 16px 6px;font-size:15px;font-weight:800}.sl-row{border-top:1px solid #f0f0f2;align-items:center;gap:12px;padding:11px 16px;font-size:14px;display:flex}.sl-row .num{width:36px;font-weight:700}.sl-row .tag{text-transform:uppercase;border-radius:999px;padding:3px 8px;font-size:11px;font-weight:800}.sl-row .tag.Pickup{color:#166534;background:#dcfce7}.sl-row .tag.Delivery{color:#1e40af;background:#dbeafe}.sl-row .who{color:#444;flex:1}.sl-row .amt{font-weight:700}.sl-row .when{color:#8a8a8e;text-align:right;width:64px;font-size:12px}.sl-empty{text-align:center;color:#8a8a8e;padding:40px}
