:root{--brand: #15396e;--brand-deep: #0e2c50;--brand-tint: #eaf2fb;--cream: #f2f7fb;--cream-2: #f7fafd;--paper: #ffffff;--border: #e3ecf3;--ink: #0c2142;--muted: #466083;--green: #15d8b3;--green-bg: #ddf9fa;--green-ink: #0fa98c;--amber-bg: #ddf9fa;--amber-ink: #15396e}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:#dce7ef;color:var(--ink);-webkit-font-smoothing:antialiased}.app{max-width:430px;margin:0 auto;height:100vh;display:flex;flex-direction:column;background:var(--cream);overflow:hidden;box-shadow:0 0 40px #141e321f}.statusbar{background:var(--brand);color:#fff;padding:9px 16px 8px;display:flex;justify-content:space-between;align-items:center;font-size:11px;font-weight:500}.sb-mid{display:flex;align-items:center;gap:5px}.dot{width:6px;height:6px;border-radius:50%;background:currentColor;display:inline-block}.dot.green{background:var(--green)}.appbar{background:var(--paper);padding:11px 15px;display:flex;align-items:center;justify-content:space-between;border-bottom:.5px solid var(--border)}.brand-row{display:flex;align-items:center;gap:9px}.logo{background:var(--brand);color:#fff;padding:4px 9px;border-radius:4px;font-weight:500;font-size:12px;letter-spacing:.4px}.hello{font-size:10px;color:var(--muted);line-height:1}.who{font-size:12px;font-weight:500;line-height:1.4}.pts{background:var(--amber-bg);color:var(--amber-ink);padding:4px 10px;border-radius:11px;font-size:11px;font-weight:500}.appbar-title{font-size:15px;font-weight:600}.scroll{flex:1;overflow-y:auto;padding:13px}.view{display:flex;flex-direction:column;gap:11px;padding-bottom:6px}.card{background:var(--paper);border:.5px solid var(--border);border-radius:12px;padding:13px 14px}.lbl{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.4px}.sect-title{font-size:13px;font-weight:600}.muted{color:var(--muted)}.small{font-size:11px}.strong{font-weight:600}.mt{margin-top:5px}.cta{width:100%;background:var(--brand);color:#fff;border:none;border-radius:9px;padding:12px;font:inherit;font-size:13px;font-weight:500;cursor:pointer}.cta:active{background:var(--brand-deep)}.offer-arrow{color:var(--brand);font-size:17px}.ad-tag{font-size:8px;opacity:.7;letter-spacing:.5px;text-transform:uppercase;color:#0e2c50}.row-between{display:flex;justify-content:space-between;align-items:center;font-size:13px}.bar{height:7px;background:#eaf1f7;border-radius:4px;margin-top:7px;overflow:hidden}.bar-fill{height:100%;background:var(--brand);border-radius:4px}.list-ready{background:linear-gradient(180deg,var(--brand-tint),#fff);border-color:#c3d7ee}.ready-row{display:flex;justify-content:space-between;align-items:baseline;margin:4px 0 8px}.ready-count{font-size:17px;font-weight:600}.ready-total{font-size:14px;font-weight:600;color:var(--brand)}.sync-badge{font-size:10px;color:var(--green-ink);background:var(--green-bg);border-radius:6px;padding:7px 9px;display:flex;align-items:center;gap:6px;margin-bottom:11px}.sect-head{display:flex;justify-content:space-between;align-items:center;margin-top:2px}.sect-note{font-size:10px;color:var(--muted)}.offer{display:flex;justify-content:space-between;align-items:center;gap:10px}.offer-title{font-size:13px;font-weight:500}.offer-sub{font-size:11px;color:var(--muted);margin-top:1px}.tag{background:var(--brand-tint);color:var(--brand-deep);font-size:11px;font-weight:600;padding:4px 10px;border-radius:6px;white-space:nowrap}.tag.activate{background:var(--amber-bg);color:var(--amber-ink);cursor:pointer}.teaser{display:flex;justify-content:space-between;align-items:center;cursor:pointer}.teaser-name{font-size:13px;font-weight:500;margin-top:2px}.sync-banner{background:var(--brand-tint);border:.5px solid #c3d7ee;border-radius:10px;padding:10px 12px;font-size:11px;color:var(--brand-deep);display:flex;align-items:center;gap:7px}.group-lbl{margin-bottom:8px}.empty{text-align:center;color:var(--muted);font-size:13px;padding:30px 10px}.li{display:flex;align-items:center;gap:9px;padding:8px 0;border-bottom:.5px solid #eff5fa}.li:last-child{border-bottom:none}.check{width:20px;height:20px;flex:none;border-radius:6px;border:1.5px solid var(--border);background:#fff;color:#fff;font-size:12px;cursor:pointer;display:flex;align-items:center;justify-content:center}.check.done{background:var(--green);border-color:var(--green)}.li-name{flex:1;font-size:13px}.li-name.struck{color:var(--muted);text-decoration:line-through}.stepper{display:flex;align-items:center;gap:9px}.stepper button{width:22px;height:22px;border-radius:6px;border:.5px solid var(--border);background:var(--cream-2);font-size:14px;line-height:1;cursor:pointer;color:var(--ink)}.stepper span{font-size:13px;min-width:12px;text-align:center;font-variant-numeric:tabular-nums}.li-price{font-size:13px;font-weight:500;min-width:52px;text-align:right;font-variant-numeric:tabular-nums}.li-del{background:none;border:none;color:#bbb;font-size:18px;cursor:pointer;line-height:1;padding:0 2px}.total-row{display:flex;justify-content:space-between;align-items:center;padding:4px 4px 0}.total-val{font-size:16px;font-weight:600;color:var(--brand)}.add-row{display:flex;gap:8px;margin-top:4px}.add-input{flex:1;font:inherit;font-size:13px;padding:11px 12px;border:.5px solid var(--border);border-radius:9px;background:#fff}.add-input:focus{outline:none;border-color:var(--brand)}.add-btn{width:46px;border:none;border-radius:9px;background:var(--brand);color:#fff;font-size:20px;cursor:pointer}.ghost-btn{width:100%;background:var(--cream-2);border:.5px solid var(--border);border-radius:9px;padding:11px;font:inherit;font-size:13px;font-weight:500;cursor:pointer;color:var(--ink)}.recipe-hero{padding:0;overflow:hidden}.hero-img{height:118px;background:linear-gradient(135deg,#0fa98c,var(--brand));display:flex;align-items:flex-end;padding:12px 14px}.hero-img span{color:#fff;font-size:16px;font-weight:600}.hero-body{padding:12px 14px}.hero-meta{font-size:10px;color:var(--muted);margin-bottom:10px}.recipe-row{display:flex;justify-content:space-between;align-items:center;gap:10px}.recipe-row.native{border-color:#a9c6e6;background:#eaf2fb}.recipe-name{font-size:13px;font-weight:500}.recipe-sub{font-size:11px;color:var(--muted);margin-top:1px}.add-circle{width:30px;height:30px;flex:none;border-radius:50%;border:.5px solid var(--border);background:#fff;color:var(--brand);font-size:17px;cursor:pointer}.native .add-circle{color:#0e2c50;border-color:#a9c6e6}.loyalty{background:linear-gradient(135deg,var(--brand),var(--brand-deep));border-radius:14px;padding:16px;color:#fff}.loy-top{display:flex;justify-content:space-between;align-items:center}.loy-logo{background:#ffffff2e;padding:3px 9px;border-radius:4px;font-size:12px;font-weight:500}.loy-tier{font-size:11px;opacity:.9}.loy-name{font-size:15px;font-weight:500;margin:18px 0 3px}.loy-num{font-family:ui-monospace,Menlo,monospace;font-size:13px;letter-spacing:1px;opacity:.85}.loy-bottom{display:flex;justify-content:space-between;align-items:flex-end;margin-top:14px}.loy-k{font-size:9px;opacity:.7}.loy-pts{font-size:22px;font-weight:600}.loy-qr{width:48px;height:48px;background:#fff;border-radius:6px;display:flex;align-items:center;justify-content:center}.tabbar{background:var(--paper);border-top:.5px solid var(--border);display:flex;justify-content:space-around;padding:9px 4px calc(9px + env(safe-area-inset-bottom))}.tab{background:none;border:none;font:inherit;font-size:9.5px;color:var(--muted);cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:2px;flex:1}.tab.on{color:var(--brand);font-weight:600}.tab-ic{font-size:17px;position:relative}.tab-badge{position:absolute;top:-3px;left:11px;background:var(--brand);color:#fff;font-size:8px;font-weight:700;min-width:14px;height:14px;border-radius:7px;display:flex;align-items:center;justify-content:center;padding:0 3px}
