*{margin:0;padding:0;box-sizing:border-box}html,body{background:#e7e7ec;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,PingFang SC,Microsoft YaHei,sans-serif;color:#1c1c1e}#app{max-width:480px;margin:0 auto;min-height:100vh;background:#f2f2f7;box-shadow:0 0 30px #0000001f}a{color:inherit;text-decoration:none}.page{min-height:100vh;padding-bottom:56px}.card{background:#fff;border-radius:14px;margin:10px 12px;padding:14px;box-shadow:0 1px 3px #0000000d,0 6px 18px #0000000a}.btn{display:inline-block;border:none;border-radius:12px;padding:10px 26px;font-size:15px;cursor:pointer;background:#e94e3c;color:#fff}.btn.ghost{background:#fff;color:#e94e3c;border:1px solid #e94e3c}.btn:disabled{opacity:.5}.btn-block{display:block;width:100%;text-align:center}.price{color:#e94e3c;font-weight:600}.tag{display:inline-block;font-size:11px;padding:1px 6px;border-radius:4px}.tag.new{background:#ffefe9;color:#e94e3c}.tag.vip{background:#fff7e6;color:#b8860b}.row{display:flex;align-items:center}.between{justify-content:space-between}.grow{flex:1}.muted{color:#6e6e73;font-size:12px}.empty{text-align:center;color:#8a8a8e;padding:60px 0}.empty .big{font-size:42px;margin-bottom:10px}.empty .big svg{width:56px;height:56px;display:block;margin:0 auto 10px;color:#c7c7cc}.topbar{position:sticky;top:0;z-index:20;background:#ffffffeb;-webkit-backdrop-filter:saturate(180%) blur(12px);backdrop-filter:saturate(180%) blur(12px);padding:12px;display:flex;align-items:center;gap:10px;border-bottom:1px solid rgba(60,60,67,.08)}.topbar .back{font-size:20px;cursor:pointer}.topbar .title{font-size:17px;font-weight:600;flex:1;text-align:center}.tabbar{position:fixed;left:50%;transform:translate(-50%);bottom:0;width:100%;max-width:480px;height:56px;background:#ffffffeb;-webkit-backdrop-filter:saturate(180%) blur(12px);backdrop-filter:saturate(180%) blur(12px);display:flex;border-top:1px solid rgba(60,60,67,.08);z-index:30}.tabbar .tab{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:11px;color:#8a8a8e;position:relative}.tabbar .tab.on{color:#e94e3c}.tabbar .ico{position:relative;display:flex;align-items:center;justify-content:center}.tabbar .ico svg{width:22px;height:22px}.tabbar .badge{position:absolute;top:-4px;right:-12px;background:#e94e3c;color:#fff;font-style:normal;font-size:10px;border-radius:8px;padding:0 4px;min-width:16px;text-align:center}.field{background:#fff;margin:10px 12px;border-radius:14px;padding:0 14px;box-shadow:0 1px 3px #0000000d,0 6px 18px #0000000a}.field .line{display:flex;align-items:center;padding:14px 0;border-bottom:1px solid rgba(60,60,67,.08)}.field .line:last-child{border-bottom:none}.field label{width:84px;color:#6e6e73;font-size:14px;flex-shrink:0}.field input,.field textarea{flex:1;border:none;outline:none;font-size:15px;background:#f2f2f7;border-radius:10px;padding:8px 12px}.mod .mi svg{width:26px;height:26px;color:#e94e3c}.menu .mi svg{width:22px;height:22px;color:#e94e3c}.prod-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;padding:10px 12px}.prod-card{background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 1px 3px #0000000d,0 6px 18px #0000000a}.prod-card .img{width:100%;aspect-ratio:1;object-fit:cover;background:#f7f7f7;display:block}.prod-card .body{padding:8px 10px 10px}.prod-card .name{font-size:14px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.prod-card .brand{font-size:11px;color:#999;margin:2px 0 6px}.prod-card .foot{display:flex;align-items:center;justify-content:space-between}.prod-card .unit{font-size:11px;color:#999;font-weight:400}.addbtn{width:26px;height:26px;border-radius:50%;background:#e94e3c;color:#fff;border:none;font-size:18px;line-height:1;cursor:pointer}.qty-ctrl{display:flex;align-items:center;gap:8px}.qty-ctrl button{width:26px;height:26px;border-radius:50%;border:1px solid #ddd;background:#fff;font-size:16px;cursor:pointer;line-height:1}.qty-ctrl .n{min-width:22px;text-align:center;font-size:15px}
