.category-page{background:var(--white);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);padding:12px}
.category-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--light-gray)}
.category-tabs .tab{padding:4px 14px;border-radius:16px;font-size:13px;color:var(--gray);background:var(--bg);transition:all .2s}
.category-tabs .tab.active{background:var(--primary);color:#fff}
.goods-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.goods-card{background:var(--bg);border-radius:10px;overflow:hidden;transition:transform .2s}
.goods-card:active{transform:scale(0.97)}
.goods-image{position:relative;padding-top:100%;background:var(--light-gray);overflow:hidden}
.goods-image img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover}
.goods-tag{position:absolute;top:6px;left:6px;background:var(--primary);color:#fff;font-size:10px;padding:1px 8px;border-radius:10px}
.goods-info{padding:8px 10px 12px}
.goods-name{font-size:13px;font-weight:500;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.4;height:36px}
.goods-meta{display:flex;justify-content:space-between;margin:4px 0 4px;font-size:12px}
.goods-price{color:var(--primary);font-weight:600;font-size:14px}
.goods-num{color:var(--gray)}
.progress-bar{height:4px;background:var(--light-gray);border-radius:2px;overflow:hidden;margin:4px 0 2px}
.progress-fill{height:100%;background:linear-gradient(90deg,var(--primary-light),var(--primary));border-radius:2px;transition:width .3s}
.progress-text{display:flex;justify-content:space-between;font-size:10px;color:var(--gray)}
.empty-state{text-align:center;padding:60px 20px}
.empty-icon{font-size:56px;margin-bottom:12px}
.empty-text{font-size:16px;color:var(--gray)}
.pagination{display:flex;justify-content:center;gap:6px;margin-top:16px;flex-wrap:wrap}
.page-btn{padding:4px 12px;border-radius:4px;background:var(--bg);color:var(--secondary);font-size:13px;border:1px solid var(--light-gray);transition:all .2s}
.page-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}
