/* D1 拼团营销独立样式（phase_d1.css）——不侵入既有 css。 */
.d1-page { padding: 12px 12px 80px; }
.d1-head h2 { margin: 4px 0 2px; font-size: 20px; }
.d1-head .muted { margin: 0 0 12px; }
.d1-list { display: flex; flex-direction: column; gap: 12px; }
.d1-card { display: flex; background: #fff; border-radius: 12px; overflow: hidden;
  box-shadow: 0 1px 4px rgba(0,0,0,.06); cursor: pointer; }
.d1-card-img { width: 110px; height: 110px; flex: none; background: #f5f5f5; }
.d1-card-img img { width: 100%; height: 100%; object-fit: cover; }
.d1-card-body { flex: 1; padding: 10px 12px; display: flex; flex-direction: column; gap: 4px; }
.d1-name { font-size: 14px; line-height: 1.3; overflow: hidden; text-overflow: ellipsis;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.d1-price-row { display: flex; align-items: baseline; gap: 6px; }
.d1-price { color: #C8102E; font-weight: 700; font-size: 18px; }
.d1-del { color: #999; text-decoration: line-through; font-size: 12px; }
.d1-tag { margin-left: auto; background: #fff1f2; color: #C8102E; font-size: 11px;
  padding: 1px 6px; border-radius: 8px; }
.d1-progress { height: 6px; background: #f0f0f0; border-radius: 3px; overflow: hidden; }
.d1-progress-bar { height: 100%; background: linear-gradient(90deg, #C8102E, #e85a71); }
.d1-progress-meta { display: flex; justify-content: space-between; font-size: 12px; color: #666; }
.d1-cd { color: #C8102E; font-variant-numeric: tabular-nums; }
.d1-join-btn { margin-top: 4px; align-self: flex-end; }

.d1-detail { display: flex; flex-direction: column; gap: 12px; }
.d1-detail-card { background: #fff; border-radius: 12px; padding: 12px; }
.d1-detail-card .d1-card-img { width: 100%; height: 180px; border-radius: 8px; margin-bottom: 8px; }
.d1-join-list { margin-top: 10px; border-top: 1px solid #f0f0f0; padding-top: 8px; }
.d1-join-row { display: flex; justify-content: space-between; font-size: 13px; padding: 4px 0; }
.d1-leader { background: #D4AF37; color: #fff; font-size: 10px; padding: 0 4px; border-radius: 6px; }
.d1-form { padding: 12px; display: flex; flex-direction: column; gap: 8px; }
.d1-field { display: flex; flex-direction: column; font-size: 13px; color: #555; gap: 2px; }
.d1-field input { border: 1px solid #e2e2e2; border-radius: 8px; padding: 8px; font-size: 14px; }
.d1-tip { font-size: 12px; margin: 4px 0 0; }
.m1-empty { text-align: center; color: #999; padding: 40px 0; }

/* 后台营销组合 tab */
.d1-admin-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.d1-admin-table th, .d1-admin-table td { border-bottom: 1px solid #eee; padding: 8px; text-align: left; }
.d1-admin-form { display: flex; flex-wrap: wrap; gap: 8px; align-items: end; margin: 10px 0; }
.d1-admin-form label { font-size: 12px; color: #666; display: flex; flex-direction: column; gap: 2px; }
.d1-admin-form input, .d1-admin-form select { padding: 6px; border: 1px solid #ddd; border-radius: 6px; }
.d1-row-actions button { margin-right: 6px; }
