:root {
  --vg-red: #b03a2e;      /* 朱砂：风险/告警 */
  --vg-blue: #2b6cb0;     /* 靛蓝：进行中 */
  --vg-ink: #2d2a26;
  --vg-paper: #faf7f2;    /* 宣纸底 */
  --vg-line: #e6dfd3;
}

body {
  background: var(--vg-paper);
  color: var(--vg-ink);
  font-family: "Microsoft YaHei", "PingFang SC", sans-serif;
}

.vg-header {
  background: #fff;
  border-bottom: 1px solid var(--vg-line);
  padding: 12px 0;
}

.vg-logo {
  font-size: 20px;
  font-weight: 700;
  color: var(--vg-red);
  letter-spacing: 2px;
}

.vg-card {
  border: 1px solid var(--vg-line);
  border-radius: 8px;
  box-shadow: 0 1px 3px rgba(0,0,0,.04);
}

.vg-btn { background: var(--vg-red); border-color: var(--vg-red); color: #fff; }
.vg-btn:hover { background: #962e24; border-color: #962e24; color: #fff; }

.vg-table th { font-size: 12px; color: #8a8378; font-weight: 500; }
.vg-table td { font-size: 14px; }

.vg-badge-pending { background: #8a8378; }
.vg-badge-analyzing { background: var(--vg-blue); }
.vg-badge-done { background: #4a7c59; }
.vg-badge-failed { background: #b03a2e; }

/* 风险徽章 */
.vg-risk-tag {
  display: inline-block;
  padding: 2px 10px;
  border-radius: 4px;
  font-size: 12px;
  font-weight: 600;
  color: #fff;
}
.vg-risk-jiujiu { background: #b03a2e; }
.vg-risk-dingbao { background: #b3691f; }
.vg-risk-complaint { background: #c2571b; }
.vg-risk-fraud_other { background: #8b5e3c; }
.vg-risk-unknown { background: #8a8378; }

/* 风险卡片 */
.vg-risk-item { border-left: 3px solid var(--vg-red); background: #fdf6f3; }
.vg-risk-item .evidence { background: #fff; border: 1px dashed #d9b3aa; border-radius: 4px; padding: 6px 10px; font-size: 13px; }
.vg-risk-item .evidence a { color: var(--vg-red); text-decoration: none; }
.vg-risk-item .evidence a:hover { text-decoration: underline; }

/* 情绪条 */
.vg-emotion .progress { height: 10px; background: #eee6da; }
.vg-emotion .em-label { font-size: 13px; }

/* 时间轴：微信式聊天气泡 */
.vg-bubble-row { display: flex; align-items: flex-start; gap: 10px; margin-bottom: 14px; }
.vg-bubble-row.left { flex-direction: row; }
.vg-bubble-row.right { flex-direction: row-reverse; }
.vg-avatar { width: 38px; height: 38px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 14px; font-weight: 700; color: #fff; flex-shrink: 0; }
.vg-av-agent { background: var(--vg-blue); }
.vg-av-customer { background: #b3691f; }
.vg-av-unknown { background: #8a8378; }
.vg-bubble-wrap { max-width: 72%; }
.vg-bubble-row.right .vg-bubble-wrap { display: flex; flex-direction: column; align-items: flex-end; }
.vg-bubble { border-radius: 12px; padding: 8px 12px; font-size: 14px; line-height: 1.6; box-shadow: 0 1px 2px rgba(0,0,0,.06); }
.vg-bubble-agent { background: #fff; border: 1px solid #c9dcec; border-top-left-radius: 3px; }
.vg-bubble-customer { background: #fdf1e6; border: 1px solid #ecd9c2; border-top-right-radius: 3px; }
.vg-bubble-who { font-size: 11px; font-weight: 600; color: #8a8378; margin-bottom: 2px; }
.vg-bubble-row.right .vg-bubble-who { text-align: right; }
.vg-bubble-text { word-break: break-word; }
.vg-bubble-meta { font-size: 11px; color: #a8a094; margin-top: 3px; display: flex; gap: 8px; align-items: center; }
.vg-bubble-row.right .vg-bubble-meta { justify-content: flex-end; }
.vg-bubble-flag { color: var(--vg-red); font-weight: 600; }
.vg-bubble-row.flagged .vg-bubble { border-color: var(--vg-red); outline: 1px solid rgba(176,58,46,.35); }

/* 登录页 */
.vg-login-body { background: var(--vg-paper); min-height: 100vh; display: flex; align-items: center; justify-content: center; }
.vg-login-card { background: #fff; border: 1px solid var(--vg-line); border-radius: 12px; padding: 36px 40px; width: 380px; box-shadow: 0 4px 20px rgba(0,0,0,.06); }

/* 结构化摘要 */
.vg-summary-line { padding: 4px 0; font-size: 14px; display: flex; gap: 8px; }
.vg-summary-key { font-weight: 700; color: var(--vg-red); white-space: nowrap; background: #fdf6f3; border-radius: 4px; padding: 1px 8px; }
.vg-summary-val { color: var(--vg-ink); }
.vg-summary-plain { color: var(--vg-ink); }

/* 拉修分析卡片 */
.vg-intent { border-radius: 8px; padding: 14px; border: 1px solid var(--vg-line); height: 100%; }
.vg-intent-label { font-size: 26px; font-weight: 700; margin: 4px 0; }
.vg-intent-success { background: #f0f7f2; border-color: #4a7c59; color: #2d5c3a; }
.vg-intent-warning { background: #fdf6e9; border-color: #d9a441; color: #8a6413; }
.vg-intent-danger { background: #fdf3f1; border-color: var(--vg-red); color: #962e24; }
.vg-thin { height: 8px; background: #eee6da; }
.vg-chip { display: inline-block; background: #fff; border: 1px solid var(--vg-line); border-radius: 20px; padding: 2px 10px; font-size: 12px; margin-right: 6px; margin-bottom: 4px; }
.vg-chip-used { background: #f0f7f2; border-color: #4a7c59; color: #2d5c3a; }
.vg-chip-missing { background: #fdf6e9; border-color: #d9a441; color: #8a6413; }
.vg-nextstep { background: #f0f7fa; border: 1px solid #bcd6e6; border-left: 3px solid var(--vg-blue); border-radius: 6px; padding: 10px 12px; font-size: 14px; }

/* 话术归因 */
.vg-scriptreview { border-top: 1px dashed var(--vg-line); }
.vg-score { width: 56px; height: 56px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 22px; font-weight: 800; color: #fff; flex-shrink: 0; }
.vg-score-good { background: #4a7c59; }
.vg-score-mid { background: #d9a441; }
.vg-score-bad { background: var(--vg-red); }
.vg-anti-item { font-size: 13px; padding: 2px 0; }
.vg-notes { background: #faf7f2; border: 1px solid var(--vg-line); border-radius: 6px; padding: 8px 12px; }
.vg-note-line { font-size: 13px; padding: 2px 0; }
.vg-suggests { background: #fdfbf5; border: 1px solid #e8dfc8; border-radius: 6px; padding: 8px 12px; }
.vg-suggests ul { padding-left: 18px; }
.vg-suggests li { font-size: 13px; padding: 2px 0; }
