/* 用户举报工作台 —— 由 index.html 拆分而来，加载顺序见 index.html */
/* ─── USER REPORT WORKBENCH ─── */
.report-header {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin-bottom:18px;
}
.report-title {
  font-size:22px;
  font-weight:900;
}
.report-subtitle {
  color:var(--text2);
  font-size:13px;
  margin-top:6px;
}
.report-header-actions {
  display:flex;
  gap:12px;
  align-items:center;
}
.report-search,
.report-select,
.report-filter {
  height:38px;
  border-radius:8px;
  border:1px solid var(--border);
  background:rgba(255,255,255,.045);
  color:var(--text);
  outline:none;
  padding:0 12px;
  font-size:13px;
}
.report-search { width:250px; }
.report-stat-grid {
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:16px;
  margin-bottom:18px;
}
.report-stat-card {
  min-height:126px;
  border-radius:8px;
  border:1px solid rgba(255,255,255,.065);
  background:linear-gradient(145deg, rgba(29,33,46,.96), rgba(17,21,32,.96));
  padding:18px 20px;
  position:relative;
  overflow:hidden;
}
.report-stat-card.purple { background:linear-gradient(145deg, rgba(46,39,86,.92), rgba(24,25,42,.96)); }
.report-stat-card.green { background:linear-gradient(145deg, rgba(25,61,50,.72), rgba(24,28,39,.96)); }
.report-stat-card.red { background:linear-gradient(145deg, rgba(75,34,45,.72), rgba(24,28,39,.96)); }
.report-stat-label { color:#BABDCC; font-size:13px; font-weight:700; }
.report-stat-value { font-size:29px; font-weight:900; margin-top:12px; }
.report-stat-sub { color:var(--text2); font-size:12px; margin-top:14px; }
.report-stat-icon {
  position:absolute;
  right:18px;
  top:32px;
  width:58px;
  height:58px;
  border-radius:50%;
  background:rgba(139,92,246,.2);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:24px;
}
.report-tabs {
  display:flex;
  gap:28px;
  border-bottom:1px solid var(--border);
  margin-bottom:14px;
}
.report-tab {
  border:0;
  background:transparent;
  color:var(--text2);
  padding:12px 0;
  cursor:pointer;
  font-size:14px;
  font-weight:800;
  position:relative;
}
.report-tab.active { color:#C4B5FD; }
.report-tab.active::after {
  content:'';
  position:absolute;
  left:0;
  right:0;
  bottom:-1px;
  height:2px;
  background:linear-gradient(90deg,var(--purple),#A855F7);
  border-radius:2px;
}
.report-filter-row {
  display:flex;
  gap:12px;
  align-items:center;
  margin-bottom:18px;
}
.report-filter { min-width:158px; }
.report-filter-wide { width:260px; }
.report-primary-btn,
.report-ghost-btn {
  height:38px;
  border:0;
  border-radius:8px;
  padding:0 22px;
  color:#fff;
  font-weight:800;
  cursor:pointer;
}
.report-primary-btn { background:linear-gradient(135deg,#7C3AED,#5B21B6); }
.report-ghost-btn { background:rgba(255,255,255,.07); color:var(--text); }
.report-workbench {
  display:grid;
  grid-template-columns:390px minmax(520px,1fr) 340px;
  gap:16px;
  align-items:start;
}
.report-list-panel,
.report-detail-panel,
.report-side-panel {
  border:1px solid var(--border);
  background:linear-gradient(145deg, rgba(25,29,42,.96), rgba(14,18,28,.96));
  border-radius:8px;
  min-height:620px;
}
.report-list {
  display:flex;
  flex-direction:column;
  padding:4px;
}
.report-card {
  display:grid;
  grid-template-columns:56px 1fr auto;
  gap:12px;
  padding:16px 14px;
  border-radius:8px;
  border:1px solid transparent;
  cursor:pointer;
  transition:all .15s;
}
.report-card + .report-card { margin-top:4px; }
.report-card:hover { background:rgba(255,255,255,.035); }
.report-card.active {
  border-color:rgba(139,92,246,.7);
  background:linear-gradient(145deg, rgba(72,53,128,.32), rgba(27,31,46,.96));
  box-shadow:0 0 0 1px rgba(139,92,246,.15);
}
.report-avatar {
  width:52px;
  height:52px;
  border-radius:50%;
  overflow:hidden;
  background:var(--card2-bg);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:24px;
}
.report-avatar img { width:100%; height:100%; object-fit:cover; }
.report-card-name { font-size:15px; font-weight:900; display:flex; align-items:center; gap:6px; }
.report-card-id,
.report-card-meta { color:var(--text2); font-size:12px; margin-top:5px; }
.report-reason-pill {
  display:inline-flex;
  align-items:center;
  padding:4px 9px;
  border-radius:7px;
  font-size:12px;
  font-weight:800;
  background:rgba(245,158,11,.13);
  color:#FBBF24;
}
.report-status-pill {
  display:inline-flex;
  align-items:center;
  gap:5px;
  padding:4px 8px;
  border-radius:8px;
  font-size:12px;
  font-weight:900;
  white-space:nowrap;
}
.report-status-pill.pending { color:#FF5C72; background:rgba(239,68,68,.13); }
.report-status-pill.processing { color:#6EA8FF; background:rgba(59,130,246,.14); }
.report-status-pill.resolved { color:#35D989; background:rgba(45,216,122,.13); }
.report-status-pill.rejected { color:#A6A8B8; background:rgba(139,141,158,.14); }
.report-detail-panel { padding:0; overflow:hidden; }
.report-detail-head,
.report-side-card-head {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:18px 20px;
  border-bottom:1px solid var(--border);
}
.report-section-title { font-size:16px; font-weight:900; }
.report-id { color:var(--text2); font-size:12px; }
.report-detail-body { padding:20px; }
.report-info-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  border-bottom:1px solid var(--border);
  margin-bottom:18px;
}
.report-info-cell {
  padding:0 18px 18px;
  border-right:1px solid var(--border);
}
.report-info-cell:first-child { padding-left:0; }
.report-info-cell:last-child { border-right:0; }
.report-info-label { color:var(--text2); font-size:12px; font-weight:800; }
.report-info-value { margin-top:12px; font-size:15px; font-weight:900; }
.report-desc-box {
  border:1px solid var(--border);
  background:rgba(255,255,255,.025);
  border-radius:8px;
  padding:16px;
  min-height:94px;
  color:#D9DCE8;
  line-height:1.8;
  white-space:pre-wrap;
}
.report-evidence-grid {
  display:grid;
  grid-template-columns:repeat(3,120px);
  gap:12px;
  margin-top:14px;
}
.report-evidence {
  width:120px;
  height:92px;
  border-radius:8px;
  border:1px solid var(--border);
  overflow:hidden;
  background:rgba(255,255,255,.04);
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--text2);
  font-size:12px;
}
.report-evidence img { width:100%; height:100%; object-fit:cover; }
.report-chat-box {
  margin-top:22px;
  border:1px solid var(--border);
  border-radius:8px;
  background:rgba(255,255,255,.018);
  padding:18px;
  min-height:250px;
}
.report-chat-row {
  display:flex;
  gap:10px;
  margin-bottom:16px;
  align-items:flex-start;
}
.report-chat-row.me { justify-content:flex-end; }
.report-chat-bubble {
  max-width:72%;
  padding:10px 14px;
  border-radius:8px;
  background:rgba(255,255,255,.07);
  color:#E7E8EF;
  line-height:1.6;
}
.report-chat-row.me .report-chat-bubble { background:linear-gradient(135deg,#6D3BDE,#4F2AB8); }
.report-side-panel {
  display:flex;
  flex-direction:column;
  gap:16px;
  background:transparent;
  border:0;
}
.report-side-card {
  border:1px solid var(--border);
  border-radius:8px;
  background:linear-gradient(145deg, rgba(25,29,42,.96), rgba(14,18,28,.96));
  overflow:hidden;
}
.report-person {
  padding:18px 20px;
  display:grid;
  grid-template-columns:72px 1fr;
  gap:14px;
  align-items:center;
}
.report-person-name { font-size:18px; font-weight:900; }
.report-person-id { color:var(--text2); font-size:12px; margin-top:6px; }
.report-person-grid {
  padding:0 20px 18px;
  display:grid;
  grid-template-columns:96px 1fr;
  gap:10px 12px;
  color:var(--text2);
  font-size:13px;
}
.report-person-grid b { color:var(--text); }
.report-side-actions {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  padding:0 20px 18px;
}
.report-side-actions button,
.report-operation-actions button {
  border:0;
  border-radius:8px;
  min-height:40px;
  padding:0 12px;
  color:var(--text);
  background:rgba(255,255,255,.07);
  font-weight:800;
  cursor:pointer;
}
.report-operation-actions {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  padding:18px 20px;
}
.report-operation-actions .primary { background:linear-gradient(135deg,#7C3AED,#5B21B6); color:#fff; }
.report-operation-actions .danger { background:linear-gradient(135deg,#B93448,#842333); color:#fff; }
.report-timeline {
  padding:14px 20px 16px;
  display:flex;
  flex-direction:column;
  gap:12px;
}
.report-timeline-item {
  position:relative;
  padding-left:22px;
  color:var(--text2);
  font-size:13px;
  line-height:1.6;
}
.report-timeline-item::before {
  content:'';
  position:absolute;
  left:0;
  top:4px;
  width:10px;
  height:10px;
  border-radius:50%;
  background:var(--blue);
  box-shadow:0 0 0 3px rgba(59,130,246,.14);
}
.report-timeline-item.green::before { background:var(--green); box-shadow:0 0 0 3px rgba(45,216,122,.14); }
.report-timeline-time { color:#C7CAD6; font-weight:800; }
.report-empty {
  min-height:420px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--text2);
}
.report-relation-card { padding:16px 18px 18px; }
.report-relation-flow {
  display:grid;
  grid-template-columns:1fr 88px 1fr;
  gap:12px;
  align-items:start;
}
.report-relation-person {
  min-width:0;
  border:1px solid rgba(255,255,255,.06);
  border-radius:8px;
  background:rgba(255,255,255,.025);
  padding:12px;
}
.report-relation-role { color:var(--text2); font-size:12px; font-weight:800; margin-bottom:10px; }
.report-relation-head { display:flex; gap:10px; align-items:center; min-width:0; }
.report-relation-name { font-size:15px; font-weight:900; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.report-relation-id { color:var(--text2); font-size:11px; margin-top:4px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.report-relation-grid {
  display:grid;
  grid-template-columns:58px 1fr;
  gap:7px 8px;
  margin-top:12px;
  color:var(--text2);
  font-size:12px;
}
.report-relation-grid b { color:var(--text); font-weight:800; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.report-relation-arrow {
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  color:#C4B5FD;
  font-size:12px;
  font-weight:900;
  padding-top:54px;
}
.report-relation-arrow span {
  width:58px;
  height:2px;
  background:linear-gradient(90deg,#7C3AED,#E879F9);
  position:relative;
  margin-bottom:8px;
}
.report-relation-arrow span::after {
  content:'';
  position:absolute;
  right:-2px;
  top:-4px;
  border-left:8px solid #E879F9;
  border-top:5px solid transparent;
  border-bottom:5px solid transparent;
}
.report-relation-actions {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-top:14px;
}
