/* ===== 批量建乘方视频计划 页面专属样式（其余复用 style.css 的 dash-card/form-row）===== */
/* 注：批量建千川视频计划页（app-qc-video-create.js）使用 qvu-* 类名做命名空间隔离，
         故沿用下表全部同名样式；选择器均以「.qcv-…, .qvu-…」双写共用同一份声明。 */

/* 计数徽标（商品/视频数） */
.qcv-count, .qvu-count {
  display: inline-block;
  margin-left: 10px;
  font-size: 12px;
  font-weight: 500;
  color: var(--text-secondary, #666);
}

/* 单选/复选组（主页可见、营销服务、分配模式） */
.qcv-radios, .qvu-radios {
  display: flex;
  gap: 14px;
  align-items: center;
  flex-wrap: wrap;
  font-size: 13px;
  color: var(--text, #18181b);
  min-height: 34px;
}
.qcv-radios label, .qvu-radios label {
  display: flex;
  align-items: center;
  gap: 4px;
  cursor: pointer;
  white-space: nowrap;
}
.qcv-radios.qcv-col, .qvu-radios.qvu-col {
  flex-direction: column;
  align-items: flex-start;
  gap: 6px;
}

/* 模式说明 / 校验提示 */
.qcv-mode-hint, .qvu-mode-hint {
  margin-top: 4px;
  font-size: 12px;
  color: var(--text-light, #888);
  line-height: 1.6;
}
.qcv-hint, .qvu-hint {
  font-size: 12px;
  color: var(--text-light, #888);
  line-height: 1.7;
  padding-top: 6px;
}
.qcv-err, .qvu-err { color: var(--danger, #dc3545); }
.qcv-ok-hint, .qvu-ok-hint { color: var(--success, #28a745); }

/* 文件清单表：忽略/拒绝行置灰 */
.qcv-file-table table, .qvu-file-table table { table-layout: fixed; }
.qcv-row-rejected td, .qvu-row-rejected td { color: var(--text-light, #999); text-decoration: line-through; }

/* 两阶段上传进度 */
.qcv-phase-label, .qvu-phase-label {
  font-size: 13px;
  font-weight: 500;
  color: var(--text, #18181b);
  margin-bottom: 6px;
  word-break: break-all;
}
.qcv-progress, .qvu-progress {
  background: var(--border, #e3e8ef);
  border-radius: 5px;
  height: 12px;
  overflow: hidden;
}
.qcv-progress-bar, .qvu-progress-bar {
  background: var(--primary, #1565c0);
  width: 0%;
  height: 100%;
  transition: width .3s;
}
.qcv-progress-detail, .qvu-progress-detail {
  font-size: 12px;
  color: var(--text-secondary, #666);
  margin-top: 5px;
}

/* 千川上传失败清单（逐条标红不阻塞） */
.qcv-fail-box, .qvu-fail-box {
  border: 1px dashed var(--danger, #dc3545);
  border-radius: 8px;
  padding: 10px 12px;
  font-size: 12px;
  color: var(--text, #18181b);
  line-height: 1.8;
  background: rgba(220, 53, 69, 0.06);
}
.qcv-fail-list, .qvu-fail-list { margin: 6px 0; max-height: 160px; overflow-y: auto; }
.qcv-fail-err, .qvu-fail-err { color: var(--danger, #dc3545); }

/* 分配预览表 */
.qcv-preview-head, .qvu-preview-head {
  margin-bottom: 10px;
  font-size: 13px;
  color: var(--text, #18181b);
}
.qcv-preview-table td, .qvu-preview-table td { vertical-align: top; }
.qcv-video-cell, .qvu-video-cell {
  font-size: 12px;
  color: var(--text-secondary, #666);
  word-break: break-all;
}

/* ===== 改动 3-B：文件摘要 + 明细折叠 + 失败归类 ===== */
.qcv-file-summary, .qvu-file-summary {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 6px;
  font-size: 13px;
  color: var(--text, #18181b);
  line-height: 1.6;
}
.qcv-summary-hint, .qvu-summary-hint {
  font-size: 12px;
  color: var(--text-light, #888);
}
.qcv-detail-toggle, .qvu-detail-toggle {
  color: var(--primary, #1565c0);
  font-size: 12px;
  cursor: pointer;
  user-select: none;
  margin-left: 4px;
}
.qcv-detail-toggle:hover, .qvu-detail-toggle:hover { text-decoration: underline; }
.qcv-auto-hint, .qvu-auto-hint {
  min-height: 16px;
  margin: 4px 0 2px;
  font-size: 12px;
  line-height: 1.6;
}
.qcv-warn-hint, .qvu-warn-hint { color: #b8860b; }
.qcv-fail-detail, .qvu-fail-detail {
  margin-top: 6px;
  max-height: 160px;
  overflow-y: auto;
  font-size: 12px;
  color: var(--text-secondary, #666);
}
.qcv-fail-group, .qvu-fail-group {
  font-family: monospace;
  color: var(--danger, #dc3545);
  padding: 1px 0;
}
.qcv-skip-hint, .qvu-skip-hint {
  margin: 8px 0;
  padding: 7px 10px;
  font-size: 12px;
  line-height: 1.6;
  color: var(--primary, #1565c0);
  background: rgba(21, 101, 192, 0.07);
  border-left: 3px solid var(--primary, #1565c0);
  border-radius: 4px;
}
