:root{--primary: #d32f2f;--primary-dark: #b71c1c;--bg: #f5f5f5;--card: #ffffff;--text: #333333;--text-light: #999999;--price: #d32f2f;--border: #eeeeee;--success: #4caf50;--radius: 10px}*{margin:0;padding:0;box-sizing:border-box}html,body{font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Helvetica Neue,Microsoft YaHei,sans-serif;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}#app{max-width:640px;margin:0 auto;min-height:100vh;background:var(--bg)}.app{padding-bottom:56px}a{text-decoration:none;color:inherit}.page{min-height:100vh;background:var(--bg);padding-bottom:20px}.page-header{position:sticky;top:0;z-index:100;background:var(--primary);color:#fff;padding:12px 16px;display:flex;align-items:center;justify-content:space-between;font-size:17px;font-weight:600}.page-header .back{font-size:20px;cursor:pointer;width:28px}.page-header .right{font-size:13px;font-weight:400;cursor:pointer}.card{background:var(--card);border-radius:var(--radius);margin:10px;padding:12px}.card-title{font-size:15px;font-weight:600;margin-bottom:10px}.btn{display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:20px;padding:8px 20px;font-size:14px;cursor:pointer;background:var(--primary);color:#fff}.btn-outline{background:transparent;color:var(--primary);border:1px solid var(--primary)}.btn-block{width:100%}.btn[disabled]{opacity:.5;cursor:not-allowed}.price{color:var(--price);font-weight:700}.empty{text-align:center;color:var(--text-light);padding:60px 20px;font-size:14px}.empty .empty-icon{font-size:48px;display:block;margin-bottom:12px}.tabbar{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:640px;display:flex;background:#fff;border-top:1px solid var(--border);z-index:1000;padding-bottom:env(safe-area-inset-bottom)}.tabbar-item{flex:1;display:flex;flex-direction:column;align-items:center;padding:6px 0 4px;font-size:11px;color:var(--text-light);cursor:pointer}.tabbar-item.active{color:var(--primary)}.tabbar-icon{font-size:20px;line-height:1.2}.tabbar-text{margin-top:1px}.product-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:10px}.product-card{background:#fff;border-radius:var(--radius);overflow:hidden;cursor:pointer}.product-card .img{width:100%;aspect-ratio:1;object-fit:cover;background:#f0f0f0;display:block}.product-card .info{padding:8px 10px 10px}.product-card .name{font-size:13px;line-height:1.4;height:36px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.product-card .meta{display:flex;align-items:center;justify-content:space-between;margin-top:6px}.product-card .unit{font-size:11px;color:var(--text-light)}.cell{display:flex;align-items:center;padding:12px;background:#fff;border-bottom:1px solid var(--border);cursor:pointer}.cell:active{background:#fafafa}.cell .label{flex:1;font-size:14px}.cell .value{color:var(--text-light);font-size:14px}.cell .arrow{color:#ccc;margin-left:6px}.form-item{background:#fff;padding:12px;border-bottom:1px solid var(--border);display:flex;align-items:center}.form-item label{width:80px;font-size:14px;color:var(--text)}.form-item input,.form-item textarea,.form-item select{flex:1;border:none;outline:none;font-size:14px;background:transparent}.mask{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:2000;display:flex;align-items:flex-end;justify-content:center}.sheet{width:100%;max-width:640px;background:#fff;border-radius:16px 16px 0 0;padding:16px;max-height:70vh;overflow-y:auto}.sheet-title{font-size:16px;font-weight:600;text-align:center;margin-bottom:12px}.toast{position:fixed;top:45%;left:50%;transform:translate(-50%,-50%);background:#000000bf;color:#fff;padding:12px 20px;border-radius:8px;font-size:14px;z-index:9999;max-width:70%;text-align:center}.confirm-box{width:100%;max-width:640px;background:#fff;border-radius:16px 16px 0 0;padding:20px 16px calc(20px + env(safe-area-inset-bottom));text-align:center}.confirm-box .confirm-title{font-size:16px;font-weight:600;margin-bottom:8px}.confirm-box .confirm-msg{font-size:14px;color:var(--text-light);margin-bottom:16px}.confirm-box .confirm-btns{display:flex;gap:12px}
