*{box-sizing:border-box}html,body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",Arial,sans-serif;background:#f5f7fb;color:#14213d}body{min-height:100vh}.page{display:grid;place-items:center;padding:24px}.card,.panel{background:#fff;border:1px solid #e8edf5;border-radius:22px;box-shadow:0 18px 50px rgba(20,33,61,.07)}.setup{width:min(560px,100%);padding:28px}.form{display:grid;gap:14px}.form label{display:grid;gap:7px;font-size:14px}.form input,.form select,.form textarea,.manual input{width:100%;border:1px solid #dce3ee;border-radius:12px;padding:12px 14px;font-size:16px;outline:none;background:#fff}.form input:focus,.manual input:focus{border-color:#315bd6;box-shadow:0 0 0 3px rgba(49,91,214,.1)}button,.btn{appearance:none;border:0;border-radius:14px;padding:13px 18px;background:#315bd6;color:#fff;font-size:15px;font-weight:700;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.btn.ghost{background:#eef2ff;color:#315bd6}button:disabled{opacity:.55;cursor:not-allowed}.muted{color:#75819a;font-size:14px}.err,.notice.bad{background:#fff0f1;color:#b42318}.ok,.notice{background:#eefbf3;color:#087443}.err,.ok,.notice{padding:12px 14px;border-radius:12px;margin:10px 0}.landing{text-align:center}.landing .mark{font-size:64px}.redeem{width:min(520px,100%);margin:auto;min-height:100vh;padding:24px 16px 44px}.hero{padding:24px 6px 20px}.brand{font-size:12px;font-weight:800;letter-spacing:2px;color:#315bd6}.hero h1{font-size:30px;margin:8px 0}.hero p{margin:0;color:#6e7b95}.panel{padding:18px}.loading{padding:28px;text-align:center;color:#7d879a}.manual{display:flex;gap:8px;margin:14px 0}.manual .btn{flex:0 0 auto}.shop{width:100%;text-align:left;background:#fff;color:#14213d;border:1px solid #e8edf5;margin:8px 0;padding:14px;display:grid;grid-template-columns:1fr auto;gap:4px;border-radius:14px}.shop b{grid-column:1}.shop span{grid-column:1;color:#7d879a;font-size:13px}.shop em{grid-column:2;grid-row:1/3;align-self:center;color:#315bd6;font-style:normal;font-size:13px}.back{background:transparent;color:#53627c;padding:4px 0;margin-bottom:8px}.products{display:grid;grid-template-columns:1fr 1fr;gap:10px}.product{background:#fafbfe;color:#14213d;border:1px solid #e8edf5;padding:14px;border-radius:16px;display:flex;flex-direction:column;gap:8px;min-height:145px}.product img{width:100%;height:90px;object-fit:contain;border-radius:10px}.cup{font-size:48px;line-height:1}.product span{color:#315bd6;font-size:13px}.confirm,.success{text-align:center;padding:10px}.big{font-size:72px}.price{display:flex;justify-content:space-between;align-items:center;background:#f6f8fc;padding:14px;border-radius:14px;margin:16px 0}.price b{font-size:22px}.pickup{margin:22px auto;background:#14213d;color:#fff;border-radius:20px;padding:18px}.pickup span{display:block;font-size:13px;opacity:.7}.pickup strong{display:block;font-size:48px;letter-spacing:4px;margin-top:5px}.check{margin:auto;width:58px;height:58px;border-radius:50%;background:#eaf9ef;color:#15803d;display:grid;place-items:center;font-size:30px;font-weight:800}.status{font-weight:700}.success .btn{width:100%;margin-top:10px}footer{text-align:center;color:#98a2b3;font-size:12px;padding:20px 12px}@media(max-width:420px){.redeem{padding-left:12px;padding-right:12px}.hero h1{font-size:27px}.products{grid-template-columns:1fr 1fr}.manual{flex-direction:column}}
.prodpic{width:140px;height:140px;object-fit:cover;border-radius:22px;display:block;margin:0 auto 14px}.payqr{width:min(260px,80vw);height:auto;display:block;margin:18px auto;border-radius:18px;background:#fff;padding:10px}.confirm small,.form small{display:block;color:#777;margin-top:6px}
.stepbar{display:flex;align-items:center;gap:7px;margin-bottom:18px;color:#7d879a;font-size:12px}.stepbar b{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:#315bd6;color:#fff}.stepbar i{height:1px;background:#dce3ee;flex:1}.shophead{background:#f7f9fd;border-radius:14px;padding:12px 14px;display:grid;gap:3px;margin-bottom:18px}.shophead small,.shophead span{color:#7d879a}.configHead{display:flex;gap:14px;align-items:center;margin-bottom:18px}.configHead .prodpic{width:92px;height:92px;margin:0}.configHead h2{margin:0 0 6px}.configHead p{margin:0;color:#7d879a}.attrList{display:grid;gap:18px}.attrGroup{border-top:1px solid #edf0f5;padding-top:15px}.attrTitle{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.attrTitle span{font-size:12px;color:#98a2b3}.pills{display:flex;flex-wrap:wrap;gap:9px}.pill{background:#f7f8fb;color:#26324a;border:1px solid #e0e5ee;padding:10px 14px;border-radius:999px;font-weight:600;font-size:14px}.pill.active{background:#eef2ff;border-color:#315bd6;color:#315bd6;box-shadow:0 0 0 2px rgba(49,91,214,.07)}.pill small{font-size:11px}.pill:disabled{opacity:.35;text-decoration:line-through}.ruleHint{display:grid;gap:5px;background:#f8fafc;border:1px solid #e8edf5;border-radius:14px;padding:13px;margin:20px 0}.ruleHint span{color:#6e7b95;font-size:13px;line-height:1.6}.wide{width:100%}.specSummary{display:inline-block;background:#f3f5f9;border-radius:999px;padding:8px 12px;font-size:13px;color:#53627c;margin:7px 0 4px}.cardMatch{display:grid;gap:4px;text-align:left;border-radius:14px;padding:13px;margin:14px 0}.cardMatch.yes{background:#eefbf3;color:#087443}.cardMatch.no{background:#fff0f1;color:#b42318}.cardMatch span{font-size:12px;opacity:.8}
.specSheet{position:relative}.configHead small{color:#98a2b3}.eta{margin:10px 0;color:#315bd6;font-weight:700}.pill{transition:.15s ease}.pill.active{transform:translateY(-1px)}.product{position:relative;overflow:hidden}.product img{background:#fff}.product:active,.pill:active{transform:scale(.98)}
/* V5: 带价规格直接禁用，不再让消费者进入后续补差价流程。 */
.pill:disabled{opacity:.48;text-decoration:none;cursor:not-allowed}
.pill.surcharge{background:#f5f6f8;color:#98a2b3;border-color:#e6e9ef}
.pill.surcharge small{display:block;margin-top:2px;color:#b26a35;font-size:10px;font-weight:700}
/* V5.5 订单提交前预览 */
.confirmTitle small{display:block;color:#98a2b3;font-size:12px;font-weight:700;letter-spacing:.08em;margin-bottom:4px}.confirmTitle h2{margin:0 0 12px}.bill{background:#f8fafc;border:1px solid #e8edf5;border-radius:16px;padding:6px 14px;margin:16px 0;text-align:left}.bill>div{display:flex;align-items:center;justify-content:space-between;padding:11px 0;border-bottom:1px solid #edf0f5}.bill>div:last-child{border-bottom:0}.bill span{color:#6e7b95;font-size:14px}.bill b{font-size:14px}.bill .total{padding-top:14px}.bill .total span{color:#14213d;font-weight:700}.bill .total strong{font-size:24px;color:#14213d}.settleNote{display:grid;gap:5px;text-align:left;background:#eef4ff;border:1px solid #dbe7ff;color:#24458d;border-radius:14px;padding:13px 14px;margin:14px 0}.settleNote span{font-size:12px;line-height:1.6;color:#536b9e}.center{text-align:center}

/* V5.7 消费者确认页：金额全部来自瑞幸实时预览，不展示任何接口术语。 */
.checkout{display:grid;gap:14px}.checkoutHead{display:flex;align-items:center;justify-content:space-between;padding:2px 2px 6px}.checkoutHead h2{margin:0;font-size:24px}.checkoutHead span{font-size:13px;font-weight:700;color:#315bd6;background:#eef2ff;border-radius:999px;padding:6px 11px}.checkoutShop{display:grid;gap:5px;padding:15px 16px;background:#f7f9fd;border-radius:16px;text-align:left}.checkoutShop b{font-size:17px}.checkoutShop span{font-size:13px;color:#7d879a;line-height:1.45}.checkoutProduct{display:grid;grid-template-columns:74px 1fr auto;gap:13px;align-items:center;padding:16px 2px;border-bottom:1px solid #edf0f5}.checkoutProduct img{width:74px;height:74px;object-fit:cover;border-radius:16px;background:#fff}.checkoutProduct .cup{font-size:44px;text-align:center}.checkoutProductMain{display:grid;gap:5px;text-align:left}.checkoutProductMain b{font-size:17px}.checkoutProductMain span{font-size:13px;color:#7d879a;line-height:1.45}.checkoutProductMain em{font-size:12px;color:#98a2b3;font-style:normal}.checkoutProduct>strong{font-size:17px}.checkoutBenefit{display:flex;align-items:end;justify-content:space-between;padding:15px 16px;background:#fafbfe;border-radius:16px;text-align:left}.checkoutBenefit>div{display:grid;gap:3px}.checkoutBenefit span{font-size:12px;color:#98a2b3}.checkoutBenefit b{font-size:16px}.checkoutBenefit small{font-size:12px;color:#6e7b95}.checkoutBenefit>strong{font-size:18px;color:#ef5a3c}.checkoutTotal{display:flex;align-items:center;justify-content:space-between;padding:18px 2px 6px}.checkoutTotal span{font-size:17px;font-weight:700}.checkoutTotal strong{font-size:30px;letter-spacing:-.02em}
