/* ================= 跟进模块（activities）· 按客户分组视图 =================
   三层架构：modules 层（模块专属样式）
   用途：跟进列表「按客户」视图 —— 一个客户一个卡片，内部用 chip 展示最近 3 条跟进，
   点「查看全部」展开该客户全部记录。不改动其他模块的表格样式。
   依赖：tokens.css 变量（--blue / --line / --muted / --bg2 ...）
======================================================================= */
/* ---------- 视图切换按钮（列表 / 按客户） ---------- */
.act-view-switch{display:inline-flex;border:1px solid var(--line);border-radius:8px;overflow:hidden;height:36px;background:#fff;}
.act-vbtn{border:none;background:#fff;color:var(--muted);font-size:13px;padding:0 14px;cursor:pointer;font-family:inherit;}
.act-vbtn + .act-vbtn{border-left:1px solid var(--line);}
.act-vbtn:hover{color:var(--blue);background:var(--bg3);}
.act-vbtn.on{background:var(--blue);color:#fff;font-weight:600;}

/* ---------- 分组卡片容器 ---------- */
.act-g-head{display:flex;align-items:center;justify-content:space-between;font-size:12.5px;color:var(--muted);padding:2px 2px 10px;}
.act-g-wrap{display:flex;flex-direction:column;gap:9px;}
.act-card{border:1px solid var(--line);border-radius:10px;background:#fff;padding:12px 14px;display:flex;flex-wrap:wrap;gap:14px;align-items:flex-start;transition:border-color .15s,box-shadow .15s;}
.act-card:hover{border-color:#c3d4ee;box-shadow:0 1px 5px rgba(14,63,143,.08);}
.act-card.act-has-todo{border-left:3px solid #e8a317;}
.act-card.act-has-overdue{border-left:3px solid #d9534f;}

/* 左：客户 + 负责人 + 最近跟进日期 */
.act-l{width:190px;flex:0 0 auto;min-width:0;}
.act-l-name{display:flex;align-items:center;gap:7px;font-weight:600;font-size:14px;color:var(--text);}
.act-l-name .act-ava{width:24px;height:24px;border-radius:7px;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:12px;font-weight:700;flex:0 0 auto;}
.act-l-name b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.act-l-sub{font-size:11.5px;color:var(--muted);margin-top:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.act-l-last{font-size:11.5px;color:var(--text2);margin-top:3px;display:flex;align-items:center;gap:6px;flex-wrap:wrap;}
.act-l-last i{font-style:normal;color:var(--muted);}
.act-l-last .act-ago{color:var(--muted);}
.act-l-last .act-ago.warn{color:#a06400;}
.act-l-last .act-ago.cold{color:#a32d2d;}
.act-l-tags{margin-top:7px;display:flex;gap:5px;flex-wrap:wrap;}

/* 中：最近 3 条 chip */
.act-m{flex:1;min-width:0;}
.act-chip{display:inline-flex;align-items:center;gap:6px;max-width:100%;margin:0 7px 7px 0;padding:4px 10px;border:1px solid var(--line);border-radius:14px;background:#f7f9fc;font-size:12.5px;color:var(--text2);vertical-align:middle;}
.act-chip .act-cd{color:var(--muted);font-size:11.5px;flex:0 0 auto;}
.act-chip .act-cd.overdue{color:#a32d2d;font-weight:600;}
.act-chip .act-cty{flex:0 0 auto;}
.act-chip .act-cty .pill{font-size:11.5px;padding:1px 6px;line-height:16px;}
.act-chip .act-ct{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%;}
.act-chip.done{opacity:.66;}
.act-chip.done .act-ct{text-decoration:line-through;text-decoration-color:#b9c1cf;}
.act-more{font-size:12px;color:var(--muted);margin-left:2px;}

/* 右：操作 */
.act-r{width:132px;flex:0 0 auto;text-align:right;}
.act-r .lnk{font-size:12.5px;display:inline-block;cursor:pointer;}
.act-r .act-new{margin-top:8px;display:inline-block;padding:3px 10px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--blue);font-size:12.5px;cursor:pointer;white-space:nowrap;}
.act-r .act-new:hover{background:var(--bg3);}

/* ---------- 展开区：该客户全部跟进 ---------- */
.act-detail{flex:0 0 100%;width:100%;margin-top:4px;border-top:1px dashed var(--line);padding-top:10px;}
.act-detail .ad-row{display:flex;align-items:flex-start;gap:10px;padding:6px 2px;border-bottom:1px dashed #f0f3f7;font-size:12.5px;color:var(--text2);}
.act-detail .ad-row:last-child{border-bottom:none;}
.act-detail .ad-row .ad-d{width:82px;flex:0 0 auto;color:var(--muted);font-size:12px;}
.act-detail .ad-row .ad-c{flex:1;min-width:0;word-break:break-word;}
.act-detail .ad-row .ad-o{flex:0 0 auto;display:flex;gap:4px;align-items:center;}
.act-detail .ad-empty{color:var(--muted);font-size:12.5px;padding:6px 2px;}

/* 空状态 / 汇总条 */
.act-empty{text-align:center;color:var(--muted);padding:46px 0;font-size:13.5px;}
.act-sum{display:flex;gap:18px;flex-wrap:wrap;font-size:12.5px;color:var(--muted);padding:2px 2px 10px;}
.act-sum b{color:var(--blue);font-size:14px;}

/* 窄屏：左列收窄，卡片改为纵向 */
@media (max-width:900px){
  .act-card{flex-direction:column;gap:8px;}
  .act-l,.act-r{width:100%;text-align:left;}
  .act-r{text-align:left;}
  .act-chip .act-ct{max-width:180px;}
}
