/* ============ 批改监控 v1.82.3 ============
   目标：一眼看出「谁压着几份、压了多久、压在哪个作业上」，
   所以用卡片而不是表格 —— 表格要横着读，卡片竖着扫。
   ========================================== */

.rv-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;
  background:#fff;border-radius:14px;padding:16px 18px;box-shadow:var(--shadow);margin-bottom:14px}
.rv-head{display:flex;gap:10px;align-items:flex-start;min-width:0}
.rv-ico{font-size:19px;line-height:1.2;flex:none}
.rv-s{color:var(--text2);font-size:12.5px;line-height:1.85;max-width:820px}
.rv-s .rv-kk{font-weight:700;color:#1f2329;font-size:13.5px;margin-right:10px}
.rv-s b{color:#1f2329}
.rv-top-r{display:flex;gap:8px;flex:none;flex-wrap:wrap}

/* 顶部数字 */
.rv-kpi{display:grid;grid-template-columns:repeat(var(--n,5),minmax(0,1fr));gap:10px;margin-bottom:14px}
.rv-k{background:#fff;border-radius:12px;padding:13px 15px;box-shadow:var(--shadow)}
.rv-kl{font-size:12px;color:var(--text2)}
.rv-kv{font-size:24px;font-weight:800;margin-top:4px;letter-spacing:-.4px;line-height:1.15;
  font-variant-numeric:tabular-nums}

/* 切换 */
.rv-tabs{display:inline-flex;background:#eaeff7;border-radius:10px;padding:3px;margin-bottom:12px}
.rv-tabs button{border:0;background:transparent;padding:6px 16px;border-radius:8px;font-size:13px;
  color:var(--text2);font-weight:600;transition:all .15s}
.rv-tabs button.on{background:#fff;color:#1f2329;box-shadow:0 1px 4px rgba(31,56,88,.14)}

.rv-list{display:flex;flex-direction:column;gap:10px}
.rv-item{background:#fff;border-radius:13px;box-shadow:var(--shadow);overflow:hidden}

.rv-row{display:grid;align-items:center;gap:12px;padding:13px 16px;border-left:4px solid #cfd8e6;
  grid-template-columns:42px 132px minmax(0,1fr) 78px 92px auto;
  grid-template-areas:"av who brief n h ops"}
.rv-row.lv1{border-left-color:#ff8f1f;background:linear-gradient(90deg,#fffaf3,#fff 46%)}
.rv-row.lv2{border-left-color:#fa5151;background:linear-gradient(90deg,#fff5f5,#fff 46%)}

.rv-av{grid-area:av;width:38px;height:38px;border-radius:11px;display:flex;align-items:center;
  justify-content:center;font-weight:800;font-size:13.5px;letter-spacing:.5px;
  background:linear-gradient(135deg,#e8f3ff,#d3e6ff);color:#1677ff;flex:none}
.rv-av.ex{background:linear-gradient(135deg,#f3ecff,#e4d5ff);color:#722ed1}

.rv-who{grid-area:who;min-width:0}
.rv-nm{font-weight:700;font-size:14px;display:flex;align-items:center;gap:6px;flex-wrap:wrap;line-height:1.35}
.rv-rl{font-size:11.5px;color:var(--text2);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rv-nobind{font-size:10.5px;background:#fff1f0;color:#d93026;border-radius:5px;padding:1px 5px;
  font-weight:600;white-space:nowrap}

.rv-brief{grid-area:brief;font-size:12.5px;color:#3d4655;min-width:0;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

.rv-n{grid-area:n;text-align:center;border-left:1px dashed #e9eef6;padding-left:8px}
.rv-n b{font-size:22px;font-weight:800;color:#1f2329;line-height:1;font-variant-numeric:tabular-nums}
.rv-n span{display:block;font-size:11px;color:var(--text2);margin-top:3px}
.rv-h{grid-area:h;text-align:center;border-left:1px dashed #e9eef6;padding-left:8px}
.rv-h b{font-size:15px;font-weight:700;color:#4b5563;font-variant-numeric:tabular-nums}
.rv-h span{display:block;font-size:11px;color:var(--text2);margin-top:3px}
.rv-row.lv1 .rv-h b{color:#d46b08}
.rv-row.lv2 .rv-h b{color:#d93026}
.rv-row.lv1 .rv-n b{color:#d46b08}
.rv-row.lv2 .rv-n b{color:#d93026}

.rv-ops{grid-area:ops;display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap}

/* 按作业：标题比人名长，给名字列更多宽度 */
.rv-row.hwrow{grid-template-columns:42px minmax(0,1.5fr) minmax(0,0.9fr) 78px 92px auto}
.rv-nm.ell{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* 明细 */
.rv-det{background:#fafbfd;border-top:1px dashed #e8edf5;padding:12px 16px 14px}
.rv-grp{margin-bottom:12px}
.rv-grp:last-child{margin-bottom:0}
.rv-grp-h{display:flex;align-items:center;gap:8px;font-weight:700;font-size:13px;
  margin-bottom:5px;line-height:1.4}
.rv-tag{font-size:10.5px;padding:1px 6px;border-radius:5px;font-weight:700;flex:none}
.rv-tag.hw{background:#e8f3ff;color:#1677ff}
.rv-tag.ex{background:#f3ecff;color:#722ed1}
.rv-grp-n{margin-left:auto;font-size:11.5px;color:var(--text2);font-weight:600;flex:none}

.rv-line{display:flex;align-items:center;gap:10px;padding:6px 0;font-size:12.5px;
  border-bottom:1px dashed #eef2f8}
.rv-line:last-child{border-bottom:0}
.rv-stu{font-weight:600;flex:none;min-width:52px}
.rv-gp{color:var(--text2);font-size:12px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rv-tm{color:#9aa4b2;font-size:11.5px;flex:none}
.rv-hrs{margin-left:auto;font-weight:700;color:#1a7f4b;white-space:nowrap;font-size:12px}
.rv-hrs.hot1{color:#d46b08}
.rv-hrs.hot2{color:#d93026}

.rv-push{font-size:10.5px;padding:1px 5px;border-radius:4px;white-space:nowrap;font-weight:600;flex:none}
.rv-push.ok{background:#e8f8ef;color:#1a7f4b}
.rv-push.bad{background:#fff1f0;color:#d93026}
.rv-push.none{background:#f1f4f9;color:#8a94a6}

.rv-rem{margin-top:10px;padding-top:8px;border-top:1px dashed #e8edf5;font-size:11.5px;color:var(--text2)}

/* 无人认领 */
.rv-orphan{margin-top:14px;background:#fff;border-radius:13px;padding:15px 16px;
  box-shadow:var(--shadow);border-left:4px solid #ff8f1f}
.rv-orphan-h{font-weight:700;font-size:14px;color:#d46b08}
.rv-orphan-s{font-size:12.5px;color:var(--text2);line-height:1.8;margin:5px 0 8px}
.rv-orphan-s b{color:#d93026}
.rv-orphan-l{font-size:12.5px;padding:5px 0;border-bottom:1px dashed #f1f4f9;color:#374151}
.rv-orphan-l:last-child{border-bottom:0}

.rv-empty{background:#fff;border-radius:13px;padding:44px 20px;text-align:center;
  color:var(--text2);box-shadow:var(--shadow);font-size:13.5px}
.rv-empty.ok{color:#1a7f4b;font-weight:600}

/* 手机 */
@media(max-width:900px){
  .rv-kpi{grid-template-columns:repeat(2,minmax(0,1fr))}
  /* 5 个指标在手机上排成 2+2+1，最后那个做成横条，不要留半格空白 */
  .rv-kpi .rv-k:last-child:nth-child(odd){grid-column:1/-1;display:flex;align-items:center;
    justify-content:space-between;padding:11px 15px}
  .rv-kpi .rv-k:last-child:nth-child(odd) .rv-kv{margin-top:0;font-size:20px}
  .rv-kv{font-size:19px}
  .rv-row{grid-template-columns:40px minmax(0,1fr) auto auto;gap:9px 10px;padding:12px 13px;
    grid-template-areas:"av who n h" "brief brief brief brief" "ops ops ops ops"}
  /* v1.83.1 修「按作业看」串列：.rv-row.hwrow 在桌面上是 6 列，
     优先级比这里的 .rv-row 高，手机上没跟着变，结果「2 份待批」和「10.8 小时」
     挤进同一格，看起来像 "20.8 小时" 的乱码。手机上必须重新声明 4 列。 */
  .rv-row.hwrow{grid-template-columns:40px minmax(0,1fr) auto auto;
    grid-template-areas:"av who n h" "brief brief brief brief" "ops ops ops ops"}
  /* 作业标题比人名长，手机上允许折两行，别一上来就「第一…」 */
  .rv-row.hwrow .rv-nm.ell{display:-webkit-box;white-space:normal;
    -webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.45}
  .rv-av{width:36px;height:36px;font-size:13px}
  .rv-n,.rv-h{text-align:right;border-left:0;padding-left:0;min-width:62px}
  .rv-n b{font-size:19px}
  .rv-brief{white-space:normal;font-size:12px;line-height:1.6}
  .rv-ops{justify-content:flex-end;margin-top:2px}
  .rv-gp{max-width:120px}
  .rv-top{padding:14px}
  .rv-line{flex-wrap:wrap}
  .rv-hrs{margin-left:0}
}
