/* 我的积分面板
   风格对齐客户端原生：白底、细分隔线、克制的阴影，不用渐变和大圆角堆叠。 */

.kefu-ck-mask {
  position: fixed;
  inset: 0;
  z-index: 100000;
  background: rgba(0, 0, 0, 0.45);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
}

.kefu-ck-panel {
  width: min(380px, 100%);
  max-height: calc(100vh - 80px);
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  box-shadow: 0 16px 48px rgba(0, 0, 0, 0.28);
  font-family: "PingFang SC", "Noto Sans SC", "Microsoft YaHei", sans-serif;
  color: #1f2329;
}

.kefu-ck-hd {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 16px;
  border-bottom: 1px solid #eef0f3;
  font-size: 15px;
  font-weight: 600;
  flex: none;
}
.kefu-ck-close {
  border: 0;
  background: transparent;
  color: #8a9099;
  font-size: 20px;
  line-height: 1;
  cursor: pointer;
  padding: 0 2px;
}
.kefu-ck-close:hover { color: #1f2329; }

.kefu-ck-body { overflow-y: auto; flex: 1; }

/* —— 余额 —— */
.kefu-ck-balance {
  padding: 20px 16px 18px;
  text-align: center;
  border-bottom: 1px solid #eef0f3;
}
.kefu-ck-balance b {
  display: block;
  font-size: 32px;
  font-weight: 600;
  line-height: 1.1;
  letter-spacing: -0.5px;
  color: #1f2329;
}
.kefu-ck-balance i {
  display: block;
  font-style: normal;
  font-size: 12px;
  color: #8a9099;
  margin-top: 4px;
}
.kefu-ck-balance em {
  display: block;
  font-style: normal;
  font-size: 12px;
  color: #b0b5bd;
  margin-top: 8px;
}

/* —— 区块 —— */
.kefu-ck-sec { padding: 14px 16px; border-bottom: 1px solid #eef0f3; }
.kefu-ck-sec:last-child { border-bottom: 0; }
.kefu-ck-sec h5 {
  margin: 0 0 10px;
  font-size: 13px;
  font-weight: 600;
  color: #1f2329;
}

/* —— 7 天周期 —— */
.kefu-ck-days {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 5px;
  margin-bottom: 12px;
}
.kefu-ck-day {
  border-radius: 6px;
  padding: 7px 0 6px;
  text-align: center;
  background: #f5f6f8;
}
.kefu-ck-day i {
  display: block;
  font-style: normal;
  font-size: 10px;
  color: #9aa0a8;
  line-height: 1.2;
  transform: scale(0.92);
  white-space: nowrap;
}
.kefu-ck-day b {
  display: block;
  font-size: 13px;
  font-weight: 600;
  color: #4b5158;
  margin-top: 2px;
}
.kefu-ck-day.today { background: #eaf3ff; }
.kefu-ck-day.today b { color: #2d8cf0; }
.kefu-ck-day.done { background: #e8f7ee; }
.kefu-ck-day.done b { color: #18a058; }
.kefu-ck-day.final { box-shadow: inset 0 0 0 1px #ffd9a0; }

.kefu-ck-btn {
  width: 100%;
  height: 38px;
  border: 0;
  border-radius: 8px;
  background: #2d8cf0;
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
}
.kefu-ck-btn:hover:not(:disabled) { background: #1f7ae0; }
.kefu-ck-btn:disabled { cursor: default; background: #eef0f3; color: #a8adb4; }
.kefu-ck-btn.done:disabled { background: #e8f7ee; color: #18a058; }

.kefu-ck-tip {
  margin: 9px 0 0;
  font-size: 11px;
  color: #b0b5bd;
  line-height: 1.5;
}

/* —— 明细列表 —— */
.kefu-ck-flow { margin: -4px 0; }
.kefu-ck-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 9px 0;
  border-bottom: 1px solid #f4f5f7;
}
.kefu-ck-row:last-child { border-bottom: 0; }
.kefu-ck-row-main { min-width: 0; flex: 1; }
.kefu-ck-row-name {
  display: block;
  font-size: 13px;
  color: #1f2329;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.kefu-ck-row-time {
  display: block;
  font-size: 11px;
  color: #b0b5bd;
  margin-top: 2px;
}
.kefu-ck-row-val {
  font-size: 14px;
  font-weight: 600;
  flex: none;
}
.kefu-ck-row-val.up { color: #18a058; }
.kefu-ck-row-val.down { color: #d03050; }

.kefu-ck-empty {
  padding: 26px 0;
  text-align: center;
  font-size: 13px;
  color: #c2c6cc;
}

/* —— 深色主题 —— */
body[theme-mode="dark"] .kefu-ck-panel { background: #23262b; color: #e6e8eb; }
body[theme-mode="dark"] .kefu-ck-hd { border-bottom-color: #2f3339; }
body[theme-mode="dark"] .kefu-ck-balance { border-bottom-color: #2f3339; }
body[theme-mode="dark"] .kefu-ck-balance b { color: #e6e8eb; }
body[theme-mode="dark"] .kefu-ck-sec { border-bottom-color: #2f3339; }
body[theme-mode="dark"] .kefu-ck-sec h5 { color: #e6e8eb; }
body[theme-mode="dark"] .kefu-ck-day { background: #2c3036; }
body[theme-mode="dark"] .kefu-ck-day b { color: #c3c8cf; }
body[theme-mode="dark"] .kefu-ck-day.today { background: #1e3a5f; }
body[theme-mode="dark"] .kefu-ck-row { border-bottom-color: #2c3036; }
body[theme-mode="dark"] .kefu-ck-row-name { color: #e6e8eb; }
body[theme-mode="dark"] .kefu-ck-btn:disabled { background: #2c3036; color: #7a8089; }
body[theme-mode="dark"] .kefu-ck-btn.done:disabled { background: #1d3329; color: #35c07e; }

/* [KEFU_LEVEL_CARD] */

/* —— 我的等级（用户侧积分面板）—— */
.kefu-ck-lv { display: flex; align-items: center; gap: 12px; }
.kefu-ck-lv-badge {
  flex: none;
  min-width: 56px;
  height: 28px;
  padding: 0 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
  font-size: 13px;
  font-weight: 600;
  color: #fff;
  background: linear-gradient(135deg, #f0b429, #f08a24);
  box-shadow: 0 2px 6px rgba(240, 138, 36, .3);
}
.kefu-ck-lv-main { flex: 1; min-width: 0; }
.kefu-ck-lv-name { font-size: 13px; color: #1f2329; }
.kefu-ck-lv-name em { font-style: normal; font-size: 12px; color: #8a9099; margin-left: 6px; }
.kefu-ck-lv-bar {
  height: 6px;
  border-radius: 3px;
  background: #f0f1f4;
  margin: 7px 0 6px;
  overflow: hidden;
}
.kefu-ck-lv-bar em {
  display: block;
  height: 100%;
  border-radius: 3px;
  background: linear-gradient(90deg, #2d8cf0, #5aa9ff);
  transition: width .3s ease;
}
.kefu-ck-lv-tip { font-size: 11px; color: #b0b5bd; }
.kefu-ck-lv-more {
  margin-top: 10px;
  padding: 0;
  border: 0;
  background: transparent;
  font-size: 12px;
  color: #2d8cf0;
  cursor: pointer;
}
.kefu-ck-lv-more:hover { color: #1f7ae0; }
.kefu-ck-rules { margin-top: 8px; }
.kefu-ck-rules-tb { width: 100%; border-collapse: collapse; font-size: 12px; }
.kefu-ck-rules-tb th {
  text-align: left;
  font-weight: 500;
  color: #8a9099;
  padding: 6px 4px;
  border-bottom: 1px solid #eef0f3;
}
.kefu-ck-rules-tb td { padding: 6px 4px; color: #4b5158; border-bottom: 1px solid #f4f5f7; }
.kefu-ck-rules-tb tr.cur td { color: #2d8cf0; font-weight: 600; background: #f2f8ff; }
.kefu-ck-rules-tb tr.cur td i {
  font-style: normal;
  font-size: 10px;
  color: #fff;
  background: #2d8cf0;
  border-radius: 3px;
  padding: 0 4px;
  margin-left: 5px;
  vertical-align: 1px;
}
body[theme-mode="dark"] .kefu-ck-lv-name { color: #e6e8eb; }
body[theme-mode="dark"] .kefu-ck-lv-bar { background: #2c3036; }
body[theme-mode="dark"] .kefu-ck-rules-tb th { color: #8a9099; border-bottom-color: #2f3339; }
body[theme-mode="dark"] .kefu-ck-rules-tb td { color: #c3c8cf; border-bottom-color: #2c3036; }
body[theme-mode="dark"] .kefu-ck-rules-tb tr.cur td { background: #1e3a5f; color: #6fb0ff; }

.kefu-ck-rules-tb tr.next td { color: #f08a24; }
.kefu-ck-rules-tb tr.next td i {
  font-style: normal;
  font-size: 10px;
  color: #fff;
  background: #f08a24;
  border-radius: 3px;
  padding: 0 4px;
  margin-left: 5px;
  vertical-align: 1px;
}
body[theme-mode="dark"] .kefu-ck-rules-tb tr.next td { color: #f5a623; }

.kefu-ck-lv-badge.plain {
  background: linear-gradient(135deg, #c3c9d1, #9aa2ad);
  box-shadow: 0 2px 6px rgba(154, 162, 173, .28);
}

/* 积分刚同步过的提示色（一闪） */
.kefu-ck-balance b.kefu-ck-flash { color: #18a058; transition: color .25s ease; }
