/* ============================================================
   客户管理系统 · 亮蓝简洁主题（业务页+首页专用）
   纯白实底 / 亮蓝色块装饰 / 清晰 hover（不透明、不掉色）
   ============================================================ */
:root {
  --primary: #1e6fff;
  --primary-deep: #1054d6;
  --primary-soft: #eaf1ff;
  --bg: #f2f5fb;
  --panel: #ffffff;
  --line: #e0e6f0;
  --text: #18213d;
  --muted: #6b7694;
  --gold: #c2881a;
  --green: #0fa968;
  --red: #e5484d;
  --orange: #f0812f;
  --blue: #1e6fff;
  --purple: #7c3aed;
  --shadow: 0 1px 2px rgba(30, 60, 120, .05), 0 6px 20px rgba(30, 60, 120, .08);
}

html, body { background: var(--bg); }

body {
  color: var(--text);
  font-family: -apple-system, "PingFang SC", "Microsoft YaHei", "HarmonyOS Sans SC", sans-serif;
  min-height: 100vh;
}

/* 隐藏游戏化装饰元素 */
#bgfx, .hud-corner, .hud-scale, .boot-screen, #bootScreen, .hero-glow, .term {
  display: none !important;
}
body::before { display: none !important; }

/* ===== 顶栏 ===== */
.topbar, .topbar-inline {
  background: #fff;
  border-bottom: 1px solid var(--line);
  box-shadow: 0 1px 6px rgba(30, 60, 120, .06);
}
.topbar h1 { color: var(--text); font-size: 19px; font-weight: 700; }
.topbar .sub { color: var(--muted); letter-spacing: 1px; }

.nav a {
  background: transparent;
  border: 1px solid var(--line);
  color: var(--muted);
  box-shadow: none;
}
.nav a:hover {
  color: var(--primary); border-color: var(--primary);
  background: var(--primary-soft); transform: none; box-shadow: none;
}
.nav a.active {
  background: var(--primary); border-color: var(--primary);
  color: #fff; box-shadow: 0 4px 14px rgba(30, 111, 255, .3);
}

/* ===== 卡片：纯白实底 + 亮蓝色块 ===== */
.card, .emp-card {
  background: #fff !important;
  border: 1px solid var(--line) !important;
  border-radius: 14px;
  box-shadow: var(--shadow);
  color: var(--text);
  backdrop-filter: none !important;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.card::before, .emp-card::before { display: none !important; }
.card:hover, .emp-card:hover {
  border-color: #b7ccff !important;
  box-shadow: 0 8px 28px rgba(30, 111, 255, .16) !important;
  transform: translateY(-2px);
}
.card h3 { color: var(--text); font-size: 14px; font-weight: 700; }
.ai-card { border-color: #c9d8ff !important; }
.ai-badge { color: var(--primary); background: var(--primary-soft); border-color: #c9d8ff; }
.ai-chip { background: #f6f9ff; border-color: var(--line); }
.ai-chip .k { color: var(--muted); }
.ai-chip .v { color: var(--text); }
.ai-talk { background: #f2fcf7; border-color: #b3e6cd; color: #0c5c3e; }
.ai-talk-head { color: #0c8a5f; }
.ai-tip { background: var(--primary-soft); border-left-color: var(--primary); color: var(--text); }
.ai-step { color: var(--text); }
.ai-step-no { background: linear-gradient(135deg, #1e6fff, #7c3aed); color: #fff; }

/* ===== 员工卡：亮蓝顶部色块 ===== */
.emp-card {
  border-top: 4px solid var(--primary) !important;
}
.emp-card .head { border-bottom: 1px solid #eef1f8; padding-bottom: 10px; }
.emp-card .hname { color: var(--text); font-size: 17px; font-weight: 800; }
.emp-card:hover .hname { color: var(--primary); }
.emp-card .hmeta { color: var(--muted); }
.emp-stats .emp-stat {
  background: #f5f8ff;
  border: 1px solid #e4ecfc;
  border-radius: 10px;
}
.emp-stats .emp-stat:hover { border-color: var(--primary); }
.emp-stat .v { color: var(--primary); font-weight: 800; }
.emp-stat .v.red { color: var(--red); }
.emp-stat .v.orange { color: var(--orange); }
.emp-stat .k { color: var(--muted); }
.redlines { color: var(--text); }
.redline-item, .warnline-item { color: var(--text); }

/* ===== 徽章：纯色底，不掉色 ===== */
.badge {
  border: none !important;
  box-shadow: none !important;
  background: #eef1f6 !important;
  color: #55607c !important;
  font-weight: 600;
}
.badge.red { background: #ffecee !important; color: #d93a3f !important; }
.badge.orange { background: #fff2e6 !important; color: #d97706 !important; }
.badge.green { background: #e6f9f0 !important; color: #0b8a55 !important; }
.badge.blue { background: #e7f0ff !important; color: #1e6fff !important; }
.badge.purple { background: #f3edff !important; color: #7c3aed !important; }
.badge.gold { background: #fdf3dd !important; color: #b07f0e !important; }
.badge.gray { background: #eef1f6 !important; color: #55607c !important; }

/* ===== 按钮：亮蓝主色 ===== */
.primary {
  background: var(--primary);
  border-color: var(--primary);
  color: #fff;
  box-shadow: 0 4px 14px rgba(30, 111, 255, .32);
}
.primary:hover { background: var(--primary-deep); border-color: var(--primary-deep); }
.ghost {
  background: #fff;
  border: 1px solid var(--line);
  color: var(--muted);
  box-shadow: none;
}
.ghost:hover { color: var(--primary); border-color: var(--primary); background: var(--primary-soft); }

/* ===== 表格：清晰分隔，hover 用亮蓝边框不上淡蓝底 ===== */
table { color: var(--text); }
thead th {
  background: #f6f9ff;
  color: #4c5a7d;
  border-bottom: 2px solid #dfe8fb;
  font-weight: 700;
  letter-spacing: .5px;
}
tbody td { border-bottom: 1px solid #eef1f8; color: var(--text); }
/* hover 保持清晰：不做淡蓝填充，仅文字/边框强调 */
table tr:hover td { background: #fff !important; }
table tr.clickable:hover td { background: #fff !important; color: var(--text); }
table tr.clickable:hover td:first-child::before { background: var(--primary); }
tr.clickable td .hp i { background: linear-gradient(90deg, var(--primary), #0fa968) !important; box-shadow: none !important; }

/* ===== 表单 ===== */
input, select, textarea {
  background: #fff !important;
  border: 1px solid var(--line) !important;
  color: var(--text) !important;
  border-radius: 8px !important;
  box-shadow: none !important;
  outline: none;
}
input:focus, select:focus, textarea:focus { border-color: var(--primary) !important; box-shadow: 0 0 0 3px rgba(30, 111, 255, .12) !important; }
select:hover, input:hover, textarea:hover { border-color: #b7ccff !important; box-shadow: none !important; }
::placeholder { color: #b3bacd; }

/* ===== 通用文本 ===== */
.empty, .risk-item .desc, .ai-loading, .detail-head .meta { color: var(--muted); }
.more { color: var(--primary); }
.more:hover { color: var(--primary-deep); }
strong, b { color: var(--text); }

/* ===== 列表行：白底 + 分隔线，hover 亮蓝边框阴影（无淡蓝填充） ===== */
.risk-item {
  border-bottom: 1px solid #eef1f8;
  border-radius: 8px;
  transition: box-shadow .15s ease, border-color .15s ease;
}
.risk-item:hover {
  background: #fff;
  box-shadow: 0 4px 14px rgba(30, 111, 255, .12);
}
.risk-item .name { color: var(--text); }

/* 血条 */
.hp { background: #edf0f7 !important; }
.hp i { background: linear-gradient(90deg, #1e6fff, #0fa968) !important; box-shadow: none !important; }
.hp-bar { background: #edf0f7 !important; }
.hp-bar i { background: linear-gradient(90deg, #1e6fff, #0fa968) !important; box-shadow: none !important; }

/* 员工排行 */
.emp-line {
  border-bottom: 1px solid #eef1f8;
  border-radius: 8px;
  transition: box-shadow .15s ease;
}
.emp-line:hover { background: #fff; box-shadow: 0 4px 14px rgba(30, 111, 255, .12); transform: none; }
.emp-name { color: var(--text); }
.emp-bar { background: #edf0f7 !important; box-shadow: none !important; }
.emp-bar i { box-shadow: none !important; }
.emp-num { color: var(--muted); }

/* ===== 模态框 ===== */
.modal {
  background: #fff !important;
  border: 1px solid var(--line);
  box-shadow: 0 24px 64px rgba(30, 60, 120, .2) !important;
  color: var(--text);
}
.modal h3 { color: var(--text); }
.modal label { color: var(--muted); }

/* ===== 时间线 ===== */
.timeline .tl-item { border-left-color: var(--line); }
.timeline .t, .tl-item .t { color: var(--muted); }
.timeline .c { color: var(--text); }

/* ===== 详情头像 ===== */
.avatar {
  background: linear-gradient(135deg, var(--primary), var(--purple)) !important;
  border: 3px solid #fff !important;
  box-shadow: 0 6px 18px rgba(30, 111, 255, .35) !important;
  color: #fff !important;
}

/* ===== 信息网格 ===== */
.info-grid .info-cell { background: #f7f9ff; border: 1px solid #e8edf8; border-radius: 10px; }
.info-grid .k { color: var(--muted); }
.info-grid .v { color: var(--text); }

/* ===== 详情头部 ===== */
.detail-head .nm { color: var(--text); }