/* ============ 个人中心样式 ============ */
/* === 个人中心 (User Center) === */
.uc-hero {
  padding: 28px 0 24px;
  background: var(--gradient-bg);
  position: relative; overflow: hidden;
}
.uc-hero-glow {
  position: absolute; top: -45%; right: -8%;
  width: 520px; height: 520px; border-radius: 50%;
  background: radial-gradient(circle, rgba(124,58,237,0.35), transparent 65%);
  filter: blur(24px); pointer-events: none;
}
.uc-hero-inner { position: relative; z-index: 1; }
.uc-back {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 8px 14px; border-radius: 100px; white-space: nowrap;
  font-size: 0.82rem; font-weight: 600; color: var(--text-secondary);
  border: 1px solid var(--border-light); background: rgba(255,255,255,0.03);
  transition: all 0.2s;
}
.uc-back:hover {
  color: #fff; border-color: rgba(124,58,237,0.4);
  background: rgba(124,58,237,0.12);
}
.uc-user { display: flex; align-items: center; gap: 20px; flex-wrap: wrap; }
.uc-avatar {
  width: 68px; height: 68px; border-radius: 20px; flex-shrink: 0;
  background: var(--gradient-purple); color: #fff;
  display: flex; align-items: center; justify-content: center;
  font-size: 1.1rem; font-weight: 800;
  box-shadow: 0 0 0 3px rgba(124,58,237,0.16), 0 10px 30px rgba(124,58,237,0.45);
}
/* 头像文字「优米彩」：白→浅金渐变 + 柔和光泽（不支持 background-clip 时回退为白色） */
.uc-avatar-char { color: #fff; white-space: nowrap; }
@supports (-webkit-background-clip: text) or (background-clip: text) {
  .uc-avatar-char {
    background: linear-gradient(180deg, #ffffff 0%, #fff2c8 52%, #f6c34a 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
    filter: drop-shadow(0 1px 2px rgba(0,0,0,0.35)) drop-shadow(0 0 10px rgba(246,195,74,0.4));
  }
}
.uc-user-info { flex: 1; min-width: 220px; }
.uc-user-meta { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 8px; }
.uc-account { font-size: 0.95rem; color: var(--text-secondary); }
.uc-account strong {
  margin-left: 4px; font-size: 1.05rem; font-weight: 800;
  color: var(--text-primary); letter-spacing: 0.5px;
  font-variant-numeric: tabular-nums;
}
.uc-vip {
  font-size: 0.7rem; font-weight: 700; padding: 3px 10px; border-radius: 100px;
  color: var(--yellow-400);
  background: linear-gradient(135deg, rgba(251,191,36,0.2), rgba(251,191,36,0.06));
  border: 1px solid rgba(251,191,36,0.35);
  box-shadow: 0 0 14px rgba(251,191,36,0.15);
}
.uc-user-info p { font-size: 0.88rem; color: var(--text-secondary); }
.uc-user-info p strong { color: var(--purple-400); }
.uc-recharge {
  display: inline-flex; align-items: center; gap: 4px;
  margin-left: 10px; padding: 3px 10px; border-radius: 100px;
  font-size: 0.75rem; font-weight: 700; vertical-align: middle;
  color: #3a2a00; background: linear-gradient(135deg, #fbbf24, #f59e0b);
  box-shadow: 0 4px 14px rgba(251,191,36,0.35);
  transition: all 0.2s;
}
.uc-recharge:hover { color: #3a2a00; transform: translateY(-1px); box-shadow: 0 6px 20px rgba(251,191,36,0.55); }
.uc-recharge svg { width: 12px; height: 12px; }

.uc-user-actions { display: flex; gap: 12px; flex-wrap: wrap; }

.uc-section { padding: 8px 0 80px; }

/* 个人中心底部版权（仅电脑端显示） */
.uc-footer { padding: 0 0 40px; }
.uc-layout { display: grid; grid-template-columns: 220px 1fr; gap: 28px; align-items: start; }
.uc-layout > * { min-width: 0; }

.uc-sidebar { position: sticky; top: 24px; }
.uc-nav {
  background: linear-gradient(180deg, var(--bg-card), rgba(17,25,64,0.55));
  border: 1px solid var(--border-light);
  border-radius: var(--radius-lg); padding: 10px;
  display: flex; flex-direction: column; gap: 6px;
  box-shadow: var(--shadow-card);
}
.uc-nav-item {
  display: flex; align-items: center; gap: 12px; width: 100%;
  padding: 10px 12px; border: none; border-radius: 12px;
  background: transparent; color: var(--text-secondary);
  font-family: inherit; font-size: 0.92rem; font-weight: 600;
  cursor: pointer; text-align: left; transition: all 0.2s ease;
}
.uc-nav-item:hover { background: rgba(255,255,255,0.05); color: #fff; }
.uc-nav-item:hover .uc-nav-icon { background: rgba(255,255,255,0.1); }
.uc-nav-item.active {
  background: var(--gradient-purple); color: #fff;
  box-shadow: 0 8px 22px rgba(124,58,237,0.4);
}
.uc-nav-icon {
  flex-shrink: 0; width: 30px; height: 30px; border-radius: 9px;
  display: flex; align-items: center; justify-content: center;
  background: rgba(255,255,255,0.06); font-size: 0.95rem;
  transition: background 0.2s;
}
.uc-nav-item.active .uc-nav-icon { background: rgba(255,255,255,0.2); }
.uc-nav-badge {
  margin-left: auto; min-width: 20px; height: 20px; padding: 0 6px;
  border-radius: 100px; background: rgba(248,113,113,0.15); color: var(--red-400);
  font-size: 0.7rem; font-weight: 700;
  display: flex; align-items: center; justify-content: center;
}
.uc-nav-badge[hidden] { display: none; }
.uc-nav-item.active .uc-nav-badge { background: rgba(255,255,255,0.22); color: #fff; }

.uc-content { min-width: 0; }
.uc-content .trend-table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; overscroll-behavior-x: contain; }
.uc-content .trend-table { min-width: 560px; }

/* === 个人中心：固定顶部 + 侧边，仅内容区滚动 === */
body.page-user {
  height: 100vh;
  height: 100dvh;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
body.page-user .uc-hero { flex: 0 0 auto; }
body.page-user .uc-section {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  padding: 8px 0 0;
}
body.page-user .uc-section > .container {
  flex: 1 1 auto;
  min-height: 0;
  width: 100%;
  display: flex;
  flex-direction: column;
}
body.page-user .uc-layout {
  flex: 1 1 auto;
  min-height: 0;
  height: 100%;
  grid-template-rows: minmax(0, 1fr);
  align-items: stretch;
}
body.page-user .uc-content {
  min-height: 0;
  height: 100%;
  overflow-y: auto;
  overscroll-behavior-y: contain;
  padding-bottom: 32px;
  scrollbar-width: none;      /* Firefox 隐藏滚动条（保留滚动） */
  -ms-overflow-style: none;   /* 旧 Edge/IE */
}
body.page-user .uc-content::-webkit-scrollbar { width: 0; height: 0; display: none; }
body.page-user .uc-footer { flex: 0 0 auto; }

.uc-panel { display: none; }
.uc-panel.active { display: block; animation: ucFade 0.3s ease; }
@keyframes ucFade {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}

.uc-card {
  background: var(--bg-card); border: 1px solid var(--border-light);
  border-radius: var(--radius-lg); padding: 24px;
  box-shadow: var(--shadow-card);
}
.uc-card + .uc-card { margin-top: 20px; }
.uc-card-head {
  display: flex; align-items: center; justify-content: space-between;
  gap: 16px; flex-wrap: wrap; margin-bottom: 20px;
}
.uc-card-title { font-size: 1.1rem; }
.uc-card-tools { display: flex; align-items: center; gap: 8px; }

/* 消息中心：顶部标题条 + 卡片列表（布局参考截图，配色沿用本站紫色主题） */
.uc-card-msg { padding: 0; background: transparent; border: none; box-shadow: none; }
.uc-msg-head {
  position: sticky; top: 0; z-index: 3;
  padding: 12px 16px; margin-bottom: 12px;
  background: linear-gradient(rgba(124,58,237,0.08), rgba(124,58,237,0.08)), var(--bg-primary);
  border: 1px solid var(--border-light);
  border-radius: var(--radius);
}
.uc-msg-title { font-size: 0.95rem; font-weight: 600; color: var(--text-primary); }

/* 消息列表 */
.uc-msg-list { list-style: none; display: flex; flex-direction: column; gap: 12px; }
.uc-msg-item {
  display: flex; gap: 12px; padding: 14px 16px;
  background: var(--bg-card); border: 1px solid var(--border-light);
  border-radius: var(--radius);
  transition: background 0.2s, border-color 0.2s;
}
.uc-msg-item:hover { background: var(--bg-card-hover); border-color: rgba(124,58,237,0.4); }
.uc-msg-body { flex: 1; min-width: 0; }
.uc-msg-top {
  display: flex; align-items: center; justify-content: space-between;
  gap: 12px; margin-bottom: 6px;
}
.uc-msg-top strong { font-size: 0.92rem; color: var(--text-primary); }
/* 群名标签（昵称右侧小标签，群名右侧留白把未读标记推到最右） */
.uc-msg-group {
  flex-shrink: 0; margin-right: auto; margin-left: 2px;
  font-size: 0.68rem; color: var(--text-muted);
  background: rgba(124,58,237,0.1);
  border: 1px solid var(--border-light); border-radius: 999px;
  padding: 1px 8px;
}
/* 右上未读标记：横条 */
.uc-msg-dot {
  width: 22px; height: 6px; border-radius: 3px;
  flex-shrink: 0; background: transparent;
}
.uc-msg-item.unread .uc-msg-dot {
  background: var(--purple-400); box-shadow: 0 0 8px rgba(167,139,250,0.6);
}
.uc-msg-body p {
  font-size: 0.85rem; color: var(--text-muted); line-height: 1.5;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
/* 右下角时间 */
.uc-msg-time {
  display: block; margin-top: 8px; text-align: right;
  font-size: 0.72rem; color: var(--text-muted);
}

/* 消息总数 */
.uc-count {
  font-size: 0.75rem; font-weight: 600;
  color: var(--text-muted); margin-left: 8px;
}

/* 消息序号：圆形 */
.uc-msg-index {
  flex-shrink: 0; width: 22px; height: 22px; margin-top: 1px;
  border-radius: 50%; background: rgba(255,255,255,0.06);
  color: var(--text-secondary); font-size: 0.72rem; font-weight: 700;
  display: flex; align-items: center; justify-content: center;
}
.uc-msg-item.unread .uc-msg-index { background: var(--purple-500); color: #fff; }

/* 消息加载动画 */
.uc-msg-loading {
  display: flex; align-items: center; justify-content: center;
  gap: 10px; padding: 44px 0;
  font-size: 0.85rem; color: var(--text-muted);
}
.uc-msg-loading[hidden], .uc-msg-list[hidden] { display: none; }
.uc-spinner {
  width: 18px; height: 18px; border-radius: 50%;
  border: 2px solid rgba(124,58,237,0.25);
  border-top-color: var(--purple-400);
  animation: ucSpin 0.7s linear infinite;
}
@keyframes ucSpin { to { transform: rotate(360deg); } }

/* 列表翻页加载提示（列表底部） */
.uc-list-more {
  display: flex; align-items: center; justify-content: center;
  gap: 8px; padding: 16px 0;
  font-size: 0.82rem; color: var(--text-muted);
}
.uc-list-more[hidden] { display: none; }

/* 全局加载遮罩（如「再次识别」） */
.uc-loading-mask {
  position: fixed; inset: 0; z-index: 4000;
  display: flex; align-items: center; justify-content: center;
  background: rgba(10, 12, 24, 0.55);
}
.uc-loading-mask[hidden] { display: none; }
.uc-loading-mask .uc-spinner { width: 34px; height: 34px; border-width: 3px; }

/* 状态徽标 */
.uc-status {
  display: inline-flex; padding: 3px 10px; border-radius: 100px;
  font-size: 0.72rem; font-weight: 600;
}
.uc-status.pending { background: rgba(251,191,36,0.12); color: var(--yellow-400); }
.uc-status.approved { background: rgba(74,222,128,0.12); color: var(--green-400); }
.uc-status.rejected { background: rgba(248,113,113,0.12); color: var(--red-400); }
.uc-actions { display: flex; gap: 12px; white-space: nowrap; }
.uc-actions a { font-size: 0.8rem; }

/* 统计卡片 */
.uc-stat-grid {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 16px; margin-bottom: 20px;
}
.uc-stat-card {
  background: linear-gradient(160deg, var(--bg-card-hover), var(--bg-card));
  border: 1px solid var(--border-light);
  border-radius: var(--radius); padding: 20px;
  transition: transform 0.25s, border-color 0.25s, box-shadow 0.25s;
}
.uc-stat-card:hover {
  transform: translateY(-3px); border-color: rgba(124,58,237,0.3);
  box-shadow: var(--shadow-glow);
}
.uc-stat-label { font-size: 0.78rem; color: var(--text-muted); margin-bottom: 8px; }
.uc-stat-value { font-size: 1.5rem; font-weight: 800; color: #fff; letter-spacing: -0.02em; }
.uc-stat-change { font-size: 0.75rem; margin-top: 6px; color: var(--text-muted); }
.uc-stat-change.up { color: var(--green-400); }
.uc-stat-change.down { color: var(--red-400); }

/* 风险条 */
.uc-risk-list { display: flex; flex-direction: column; gap: 16px; }
.uc-risk-row { display: grid; grid-template-columns: 72px 1fr 64px; align-items: center; gap: 14px; }
.uc-risk-name { font-size: 0.85rem; color: var(--text-secondary); }
.uc-bar { display: block; height: 8px; border-radius: 100px; background: rgba(255,255,255,0.06); overflow: hidden; }
.uc-bar-fill { display: block; height: 100%; border-radius: 100px; background: var(--gradient-purple); }
.uc-bar-fill.high { background: linear-gradient(135deg, #f87171, #fbbf24); }
.uc-bar-fill.mid { background: linear-gradient(135deg, #fbbf24, #4ade80); }
.uc-risk-val { font-size: 0.8rem; font-weight: 700; text-align: right; color: var(--text-primary); }
.uc-risk-note { font-size: 0.85rem; color: var(--text-muted); line-height: 1.7; }
.uc-risk-note strong { color: var(--purple-400); }

/* 风险页：号码风险表 */
.uc-risk-tip { font-size: 0.85rem; line-height: 1.7; color: var(--red-400); margin-bottom: 12px; }
.uc-risk-table-wrap { margin-top: 0; }
.uc-risk-table th, .uc-risk-table td { text-align: center; padding: 10px 18px; }
/* 风险页列表统一居中：pages.css 的 .trend-table 左对齐在 user.css 之后加载，需提高选择器优先级覆盖 */
.uc-panel[data-uc-panel="risk"] .trend-table th,
.uc-panel[data-uc-panel="risk"] .trend-table td { text-align: center; }
/* 风险页：标签栏吸顶，随内容区滚动固定在顶部（与审核页一致，基础样式 .uc-audit-tabs 已 sticky） */
/* 风险页：查询栏吸顶，固定于标签栏下方；偏移由 JS 按标签栏实际高度写入 --uc-risk-tabs-h */
.uc-panel[data-uc-panel="risk"] .uc-stat-bar {
  position: sticky; top: var(--uc-risk-tabs-h, 36px); z-index: 2;
  background: var(--bg-card);
  box-shadow: 0 12px 20px -14px rgba(0, 0, 0, 0.7);
}

/* 风险页：飞单管理 */
.uc-fly-add-card { padding: 16px; }
.uc-fly-add { display: flex; align-items: center; gap: 10px; }
.uc-fly-add-input { width: 110px; }
.uc-fly-table-wrap { margin-top: 16px; }
.uc-fly-table th, .uc-fly-table td { text-align: center; padding: 10px 18px; }
.uc-fly-table td.uc-fly-empty { padding: 40px 18px; color: var(--text-muted); }

/* 风险页：特码风险底部总计（总投注 / 总飞单 / 投注盈余） */
.uc-risk-total-row {
  display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap;
  gap: 12px; margin-top: 12px; padding: 12px 16px;
  background: var(--bg-card); border: 1px solid var(--border-light); border-radius: var(--radius);
}
.uc-risk-total-item { font-size: 0.85rem; color: var(--text-primary); }

/* 风险页：飞单弹窗按模式显隐的行 / 单选（覆盖 flex 布局下的 hidden） */
.uc-fly-row[hidden], .uc-fly-radio[hidden] { display: none; }

/* 风险页：特码风险行点击弹窗（飞单） */
.uc-risk-table tbody tr { cursor: pointer; }
.uc-fly-form { display: flex; flex-direction: column; }
.uc-fly-row {
  display: flex; align-items: center; gap: 14px;
  padding: 14px 0; border-bottom: 1px solid var(--border-light);
}
.uc-fly-row:first-child { padding-top: 0; }
.uc-fly-label { flex-shrink: 0; width: 72px; font-size: 0.85rem; color: var(--text-secondary); }
.uc-fly-control { flex: 1; display: flex; align-items: center; gap: 16px; flex-wrap: wrap; min-width: 0; }
.uc-fly-input {
  width: 90px; font-family: inherit; font-size: 0.85rem; color: var(--text-primary);
  color-scheme: dark;
  background: var(--bg-input); border: 1px solid var(--border-light);
  border-radius: 8px; padding: 8px 12px; outline: none; transition: border-color 0.2s;
}
.uc-fly-input:focus { border-color: rgba(124,58,237,0.5); }
.uc-fly-radio { display: inline-flex; align-items: center; gap: 6px; font-size: 0.85rem; color: var(--text-secondary); cursor: pointer; }
.uc-fly-range { flex: 1; min-width: 0; accent-color: var(--purple-500); cursor: pointer; }
.uc-fly-ratio { flex-shrink: 0; font-size: 0.85rem; font-weight: 600; color: var(--text-primary); }

/* 风险页：号码列生肖小字 */
.uc-risk-num-val { margin-right: 4px; }
.uc-risk-zodiac { font-size: 0.72rem; color: var(--text-muted); }

/* 风险页：列表加载中 */
.uc-risk-loading { display: flex; align-items: center; justify-content: center; padding: 24px 0; }
.uc-risk-loading[hidden] { display: none; }
.uc-risk-spinner {
  width: 26px; height: 26px; border-radius: 50%;
  border: 3px solid rgba(124,58,237,0.25); border-top-color: var(--purple-500);
  animation: uc-risk-spin 0.8s linear infinite;
}
@keyframes uc-risk-spin { to { transform: rotate(360deg); } }

/* 风险页：飞单弹窗内联行（计算模式 / 档位） */
.uc-fly-row-inline { flex-wrap: wrap; row-gap: 8px; }
.uc-fly-row-inline[hidden], .uc-fly-inline-group[hidden] { display: none; }
.uc-fly-inline-group { display: flex; align-items: center; gap: 10px; flex: 1 1 auto; min-width: 0; }
.uc-fly-label-inline { width: auto; white-space: nowrap; }
.uc-fly-inline-group .uc-fly-control { flex-wrap: wrap; gap: 12px; }

/* 风险页：四模式评比表 */
.uc-fly-compare { margin: 4px 0 14px; }
.uc-fly-compare[hidden] { display: none; }
.uc-fly-compare-head { font-size: 0.82rem; color: var(--text-secondary); margin-bottom: 8px; }
.uc-fly-compare-table { border: 1px solid var(--border-light); border-radius: 8px; overflow: hidden; }
.uc-fly-compare-tr { display: flex; align-items: center; }
.uc-fly-compare-tr + .uc-fly-compare-tr { border-top: 1px solid var(--border-light); }
.uc-fly-compare-tr.is-head { background: rgba(124,58,237,0.10); font-weight: 600; }
.uc-fly-compare-tr > span {
  flex: 1; min-width: 0; padding: 6px 2px; text-align: center;
  font-size: 0.72rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  color: var(--text-secondary);
}
.uc-fly-compare-tr.is-head > span { color: var(--text-primary); }
.uc-fly-compare-tr .uc-fly-compare-mode { flex: 0 0 62px; text-align: left; padding-left: 8px; color: var(--text-primary); }

/* 风险页：预亏 / 平衡不可行告警 */
.uc-fly-warn {
  margin: 0 0 14px; padding: 10px 12px; font-size: 0.8rem; line-height: 1.5;
  color: var(--red-400); background: rgba(220,38,38,0.08);
  border: 1px solid rgba(220,38,38,0.25); border-radius: 8px;
}
.uc-fly-warn[hidden] { display: none; }
.uc-fly-textarea {
  width: 100%; resize: vertical; min-height: 64px;
  font-family: inherit; font-size: 0.85rem; color: var(--text-primary);
  background: var(--bg-input); border: 1px solid var(--border-light);
  border-radius: 10px; padding: 10px 12px; outline: none; transition: border-color 0.2s;
  scrollbar-width: thin; scrollbar-color: rgba(124,58,237,0.5) transparent;
}
.uc-fly-textarea:focus { border-color: rgba(124,58,237,0.5); }
.uc-fly-textarea::-webkit-scrollbar { width: 8px; height: 8px; }
.uc-fly-textarea::-webkit-scrollbar-track { background: transparent; }
.uc-fly-textarea::-webkit-scrollbar-thumb { background: rgba(124,58,237,0.45); border-radius: 100px; }
.uc-fly-textarea::-webkit-scrollbar-thumb:hover { background: rgba(124,58,237,0.75); }
.uc-fly-note { font-size: 0.82rem; line-height: 1.6; color: var(--red-400); }
.uc-fly-actions { display: flex; align-items: center; gap: 10px; }
.uc-fly-actions .btn { flex: 1; justify-content: center; }

/* 个人中心 · 配置页设置列表 */
.uc-settings { list-style: none; display: flex; flex-direction: column; gap: 12px; }
.uc-settings-item {
  display: flex; align-items: center; gap: 12px;
  padding: 16px 18px;
  background: var(--bg-card); border: 1px solid var(--border-light);
  border-radius: var(--radius); color: var(--text-primary);
  text-decoration: none; transition: background 0.2s, border-color 0.2s;
}
.uc-settings-item:hover { background: var(--bg-card-hover); border-color: rgba(124,58,237,0.4); }
.uc-settings-icon { flex-shrink: 0; display: inline-flex; color: var(--purple-300); }
.uc-settings-icon svg { display: block; }
.uc-settings-text { flex: 1; font-size: 0.95rem; font-weight: 500; }
.uc-settings-arrow { flex-shrink: 0; color: var(--text-muted); }
.uc-settings-item.is-danger .uc-settings-icon { color: var(--red-400); }

/* 个人中心 · 赔率方案管理页 */
.uc-plan-header { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 16px; }
.uc-plan-title { font-size: 1.15rem; font-weight: 700; color: var(--text-primary); }
.uc-plan-bar { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px 18px; margin-bottom: 16px; }
.uc-plan-total { font-size: 0.9rem; color: var(--text-secondary); }
.uc-plan-total b { color: var(--text-primary); font-weight: 700; }
.uc-plan-list { display: flex; flex-direction: column; gap: 12px; }
.uc-plan-item { padding: 18px; }
.uc-plan-head { position: relative; display: flex; align-items: center; min-height: 24px; margin-bottom: 12px; }
.uc-plan-index {
  width: 22px; height: 22px; border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 0.72rem; font-weight: 700;
  background: var(--green-400); color: #052e16;
}
.uc-plan-name { position: absolute; left: 0; right: 0; text-align: center; font-size: 0.95rem; font-weight: 600; color: var(--text-primary); }
.uc-plan-meta { font-size: 0.85rem; color: var(--text-secondary); margin-bottom: 12px; }
.uc-plan-meta b { color: var(--text-primary); font-weight: 700; }
.uc-plan-actions { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.uc-plan-del {
  font-family: inherit; font-size: 0.875rem; font-weight: 600;
  border: none; border-radius: 8px; padding: 10px 20px; cursor: pointer;
  background: #dc2626; color: #fff; transition: opacity 0.2s, transform 0.1s;
}
.uc-plan-del:hover { opacity: 0.9; }
.uc-plan-del:active { transform: scale(0.97); }
.uc-modal-section.uc-plan-field { flex-direction: row; align-items: center; gap: 12px; }
.uc-plan-field-label { flex-shrink: 0; font-size: 0.85rem; color: var(--text-primary); }
.uc-plan-field-label em { font-style: normal; color: #ef4444; margin-right: 2px; }
.uc-plan-field .uc-modal-input { flex: 1; width: auto; min-width: 0; }
.uc-modal-title.uc-rule-title { text-align: left; font-size: 1.05rem; }
.uc-rule-title em { font-style: normal; font-weight: 400; color: var(--text-muted); }
/* 表格容器：嵌套卡片感，与弹窗背景区分 */
.uc-rule-table-wrap {
  margin-top: 0; max-height: 60vh; overflow-y: auto;
  background: rgba(15,23,56,0.75);
  border-color: rgba(124,58,237,0.18);
  border-radius: 14px;
  scrollbar-width: thin; scrollbar-color: rgba(124,58,237,0.5) transparent;
}
.uc-rule-table-wrap::-webkit-scrollbar { width: 6px; }
.uc-rule-table-wrap::-webkit-scrollbar-track { background: transparent; }
.uc-rule-table-wrap::-webkit-scrollbar-thumb { background: rgba(124,58,237,0.45); border-radius: 100px; }
.uc-rule-table-wrap::-webkit-scrollbar-thumb:hover { background: rgba(124,58,237,0.75); }
/* 表头与行：表头带紫色下边线，行使用斑马纹与悬停高亮 */
.uc-rule-table th, .uc-rule-table td { text-align: center; padding: 12px; }
.uc-rule-table th {
  position: sticky; top: 0; z-index: 1;
  background: var(--bg-secondary);
  color: var(--text-secondary); font-weight: 700;
  font-size: 0.75rem; letter-spacing: 0.06em;
  border-bottom: 1px solid rgba(124,58,237,0.3);
}
/* 首列规则名左对齐，其余列居中（贴合设计稿） */
.uc-rule-table th:first-child, .uc-rule-table td:first-child { text-align: left; }
.uc-rule-table tbody tr { transition: background 0.2s; }
.uc-rule-table tbody tr:nth-child(even) td { background: rgba(255,255,255,0.015); }
.uc-rule-table tbody tr:hover td { background: rgba(124,58,237,0.08); }
.uc-rule-table tbody tr:last-child td { border-bottom: none; }
.uc-rule-table td.uc-rule-name { color: var(--text-primary); font-weight: 600; font-size: 0.88rem; }
/* 行内数值输入框：隐藏原生数字微调箭头，避免遮挡数值；聚焦加光晕 */
.uc-rule-input {
  width: 100%; max-width: 120px; text-align: center;
  background: var(--bg-input); border: 1px solid var(--border-light);
  border-radius: 10px; padding: 8px 10px; color: var(--text-primary);
  font-size: 0.85rem; font-family: inherit; outline: none;
  font-variant-numeric: tabular-nums;
  -moz-appearance: textfield; appearance: textfield;
  transition: border-color 0.2s, box-shadow 0.2s, background 0.2s;
}
.uc-rule-input::-webkit-outer-spin-button,
.uc-rule-input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.uc-rule-input:hover { border-color: rgba(124,58,237,0.5); }
.uc-rule-input:focus {
  border-color: var(--blue-500); background: var(--bg-secondary);
  box-shadow: 0 0 0 3px rgba(59,130,246,0.18);
}
/* 只读模式：输入框不可编辑，隐藏行内保存按钮 */
.uc-modal.is-readonly .uc-rule-input {
  color: var(--text-secondary); cursor: default;
  background: rgba(255,255,255,0.02); border-color: transparent;
}
.uc-modal.is-readonly .uc-rule-save { display: none; }
/* 行内保存按钮 */
.uc-rule-save {
  font-family: inherit; font-size: 0.82rem; font-weight: 600;
  border: none; border-radius: 10px; padding: 8px 20px; cursor: pointer;
  background: var(--gradient-purple); color: #fff;
  box-shadow: 0 4px 14px rgba(124,58,237,0.35);
  transition: opacity 0.2s, transform 0.1s, box-shadow 0.2s;
}
.uc-rule-save:hover { opacity: 0.92; box-shadow: 0 6px 18px rgba(124,58,237,0.5); }
.uc-rule-save:active { transform: scale(0.97); }

/* === 个人中心 · 赔率绑定页 === */
.uc-bind-tip {
  background: rgba(59,130,246,0.12); border: 1px solid rgba(59,130,246,0.3);
  border-radius: 10px; padding: 10px 14px; margin-bottom: 16px;
  font-size: 0.85rem; color: var(--blue-400);
}
.uc-bind-card { display: flex; flex-direction: column; }
.uc-bind-current { font-size: 0.95rem; font-weight: 600; color: var(--text-primary); margin-bottom: 16px; }
.uc-bind-current b { font-weight: 600; color: var(--text-muted); }
.uc-bind-select {
  display: flex; align-items: center; gap: 16px; width: 100%;
  background: var(--bg-input); border: 1px solid var(--border-light);
  border-radius: 12px; padding: 14px 16px; margin-bottom: 24px;
  font-family: inherit; font-size: 0.9rem; color: var(--text-muted);
  cursor: pointer; text-align: left; transition: border-color 0.2s;
}
.uc-bind-select:hover { border-color: rgba(124,58,237,0.4); }
.uc-bind-select-label { flex-shrink: 0; font-weight: 600; color: var(--text-primary); }
.uc-bind-select-value { flex: 1; min-width: 0; color: var(--text-muted); }
.uc-bind-select-arrow { flex-shrink: 0; color: var(--text-muted); }
.uc-bind-save { width: 100%; justify-content: center; }
.uc-bind-empty { text-align: center; color: var(--text-muted); font-size: 0.9rem; }
.uc-bind-options { display: flex; flex-direction: column; gap: 4px; }
.uc-bind-option {
  width: 100%; padding: 14px 12px; border: none; border-radius: 10px;
  background: transparent; font-family: inherit; font-size: 0.95rem;
  font-weight: 600; color: var(--text-primary); cursor: pointer;
  transition: background 0.2s;
}
.uc-bind-option:hover { background: var(--bg-card-hover); }
/* 赔率绑定页：群/个人方案表 */
.uc-bind-table-wrap { margin-top: 0; }
.uc-bind-table th, .uc-bind-table td { text-align: center; padding: 10px 18px; }
.uc-bind-table td.uc-bind-info { text-align: left; }
.uc-bind-name { font-size: 0.9rem; color: var(--text-primary); }
.uc-bind-plan { margin-top: 4px; font-size: 0.85rem; color: var(--text-secondary); }
.uc-bind-plan.no-plan { color: var(--text-muted); }
.uc-bind-ops { white-space: nowrap; }
.uc-bind-del {
  font-family: inherit; font-size: 0.875rem; font-weight: 600;
  border: none; border-radius: 8px; padding: 8px 16px; cursor: pointer;
  background: #dc2626; color: #fff; transition: opacity 0.2s, transform 0.1s;
}
.uc-bind-del:hover { opacity: 0.9; }
.uc-bind-del:active { transform: scale(0.97); }
/* 设置方案弹窗内的「选择方案」控件去掉列表页底部间距 */
.uc-modal .uc-bind-select { margin-bottom: 0; }
/* hidden 覆盖：以下元素默认带 display，需显式隐藏 */
.uc-bind-select[hidden],
.uc-bind-save[hidden],
.uc-bind-empty[hidden],
.uc-modal-fields[hidden],
.uc-modal-actions[hidden] { display: none; }

/* === 个人中心 · 软件激活管理页 === */
.uc-activate-card { display: flex; flex-direction: column; }
.uc-activate-item { display: flex; flex-direction: column; gap: 4px; margin-bottom: 16px; }
.uc-activate-label { font-size: 0.85rem; color: var(--text-secondary); }
.uc-activate-value { font-size: 0.95rem; font-weight: 700; color: var(--blue-400); }
.uc-activate-field { display: flex; flex-direction: column; gap: 8px; margin-bottom: 24px; }
.uc-activate-input {
  width: 100%; background: var(--bg-input); border: 1px solid var(--border-light);
  border-radius: 10px; padding: 12px 14px; color: var(--text-primary);
  font-size: 0.9rem; font-family: inherit; outline: none; transition: border-color 0.2s;
}
.uc-activate-input::placeholder { color: var(--text-muted); }
.uc-activate-input:focus { border-color: var(--blue-500); }
.uc-activate-btn { width: 100%; justify-content: center; }

/* === 个人中心 · 修改密码页 === */
.uc-password-card { display: flex; flex-direction: column; gap: 14px; }
.uc-password-field {
  display: flex; align-items: center; gap: 16px;
  background: var(--bg-input); border: 1px solid var(--border-light);
  border-radius: 10px; padding: 12px 16px;
}
.uc-password-label {
  flex: 0 0 auto; min-width: 74px;
  font-size: 0.9rem; color: var(--text-primary);
}
.uc-password-input {
  flex: 1; min-width: 0;
  font-family: inherit; font-size: 0.9rem; color: var(--text-primary);
  background: transparent; border: none; outline: none;
}
.uc-password-input::placeholder { color: var(--text-muted); }
.uc-password-save {
  display: flex; width: 220px; max-width: 100%;
  margin: 10px auto 0; justify-content: center;
}

/* === 个人中心 · 软件使用说明页 === */
.uc-guide-list { list-style: none; display: flex; flex-direction: column; }
.uc-guide-item { border-bottom: 1px solid var(--border-light); }
.uc-guide-item:last-child { border-bottom: none; }
.uc-guide-name {
  display: block; width: 100%; text-align: left;
  padding: 16px 0; background: none; border: none; cursor: pointer;
  font-family: inherit; font-size: 0.95rem; color: var(--text-primary);
  transition: color 0.2s;
}
.uc-guide-name:hover { color: var(--purple-400); }
.uc-guide-body {
  padding: 0 0 16px;
  font-size: 0.9rem; color: var(--text-secondary); line-height: 1.7;
}

/* === 个人中心 · 删除单日数据弹窗 === */
.uc-delete-day-fields { gap: 18px; }
.uc-delete-day-fields .uc-modal-field { padding: 0; border-bottom: none; }
.uc-delete-day-range { display: flex; align-items: center; gap: 12px; }
.uc-delete-day-fields .uc-modal-input { text-align: center; }
.uc-delete-day-range .uc-modal-input { flex: 1; min-width: 0; }
.uc-delete-day-sep { color: var(--text-secondary); }
.uc-modal-delete {
  width: 100%; padding: 14px; border: none; border-radius: 12px;
  background: linear-gradient(135deg, #ef4444, #dc2626);
  color: #fff; font-family: inherit; font-size: 0.95rem; font-weight: 700;
  letter-spacing: 0.02em; cursor: pointer;
  box-shadow: 0 8px 22px rgba(220,38,38,0.35);
  transition: box-shadow 0.2s, transform 0.1s, filter 0.2s;
}
.uc-modal-delete:hover { box-shadow: 0 10px 28px rgba(220,38,38,0.55); filter: brightness(1.05); }
.uc-modal-delete:active { transform: scale(0.98); }

/* === 个人中心 · 删除所有消息弹窗 === */
.uc-msg-delete-warn {
  display: flex; align-items: flex-start; gap: 9px;
  font-size: 0.88rem; font-weight: 600; color: #fca5a5; line-height: 1.6;
  background: rgba(220,38,38,0.1);
  border: 1px solid rgba(248,113,113,0.28);
  border-radius: 12px; padding: 12px 14px;
}
.uc-msg-delete-warn::before {
  content: '!'; flex: 0 0 18px;
  width: 18px; height: 18px; margin-top: 1px;
  display: flex; align-items: center; justify-content: center;
  background: #ef4444; color: #fff; border-radius: 50%;
  font-size: 0.72rem; font-weight: 800;
}
.uc-msg-delete-tip { font-size: 0.88rem; color: var(--text-secondary); line-height: 1.7; }
.uc-modal-actions-lg { justify-content: flex-end; }
.uc-modal-actions-lg .uc-modal-btn { flex: 1; padding: 13px; font-size: 0.95rem; font-weight: 700; border-radius: 12px; }

/* 弹窗标题图标（删除类弹窗） */
.uc-modal-title-ico {
  display: inline-flex; align-items: center; justify-content: center;
  width: 30px; height: 30px; margin-right: 8px; vertical-align: -6px;
  border-radius: 9px; color: #f87171;
  background: rgba(220,38,38,0.14);
  box-shadow: inset 0 0 0 1px rgba(248,113,113,0.25);
}
.uc-modal-title-ico svg { width: 17px; height: 17px; }

/* === 个人中心 · 「删除所有消息」弹窗美化（仅作用于 #msgDeleteModal） === */
#msgDeleteModal .uc-modal-dialog {
  max-width: 420px;
  padding: 30px 26px 24px;
  gap: 14px;
  border-color: rgba(248,113,113,0.25);
  background:
    radial-gradient(120% 90% at 50% -10%, rgba(220,38,38,0.16), transparent 62%),
    var(--bg-card);
  box-shadow: 0 24px 60px rgba(0,0,0,0.5), 0 0 0 1px rgba(248,113,113,0.1), 0 0 42px rgba(220,38,38,0.2);
}
/* 顶部危险色高光条 */
#msgDeleteModal .uc-modal-dialog::before {
  content: ''; position: absolute; inset: 0 0 auto 0; height: 3px;
  border-radius: var(--radius-lg) var(--radius-lg) 0 0;
  background: linear-gradient(90deg, transparent, #ef4444, transparent);
}
#msgDeleteModal .uc-modal-title {
  display: flex; align-items: center; justify-content: center; gap: 10px;
  font-size: 1.28rem; font-weight: 800; letter-spacing: 0.01em;
}
#msgDeleteModal .uc-modal-title-ico {
  width: 34px; height: 34px; margin-right: 0; vertical-align: 0;
  border-radius: 10px; color: #fca5a5;
  background: linear-gradient(135deg, rgba(220,38,38,0.35), rgba(239,68,68,0.14));
  box-shadow: inset 0 0 0 1px rgba(248,113,113,0.35), 0 6px 16px rgba(220,38,38,0.28);
}
#msgDeleteModal .uc-modal-title-ico svg { width: 18px; height: 18px; }
/* 警示条 */
#msgDeleteModal .uc-msg-delete-warn {
  gap: 10px; font-size: 0.9rem; padding: 13px 15px; border-radius: 12px;
  background: linear-gradient(135deg, rgba(220,38,38,0.16), rgba(220,38,38,0.06));
  border: 1px solid rgba(248,113,113,0.32);
}
#msgDeleteModal .uc-msg-delete-warn::before {
  flex: 0 0 20px; width: 20px; height: 20px;
  font-size: 0.78rem; box-shadow: 0 0 0 3px rgba(220,38,38,0.2);
}
/* 提示语与输入框 */
#msgDeleteModal .uc-msg-delete-tip { font-size: 0.86rem; }
#msgDeleteModal .uc-modal-input {
  padding: 13px 12px; border-radius: 12px;
  font-size: 1rem; font-weight: 700; text-align: center; letter-spacing: 0.35em;
  background: var(--bg-input);
}
#msgDeleteModal .uc-modal-input::placeholder {
  letter-spacing: normal; font-weight: 400; color: var(--text-secondary);
}
#msgDeleteModal .uc-modal-input:focus {
  border-color: rgba(248,113,113,0.6);
  box-shadow: 0 0 0 3px rgba(220,38,38,0.18);
}
/* 按钮 */
#msgDeleteModal .uc-modal-actions-lg { margin-top: 4px; }
#msgDeleteModal .uc-modal-btn.is-approve {
  background: var(--bg-input); color: var(--text-secondary);
  border: 1px solid var(--border-light);
}
#msgDeleteModal .uc-modal-btn.is-approve:hover {
  opacity: 1; color: #fff; border-color: rgba(124,58,237,0.5);
}
#msgDeleteModal .uc-modal-btn.is-danger {
  background: linear-gradient(135deg, #ef4444, #dc2626);
  box-shadow: 0 8px 22px rgba(220,38,38,0.38);
}
#msgDeleteModal .uc-modal-btn.is-danger:hover {
  opacity: 1; filter: brightness(1.06); box-shadow: 0 10px 28px rgba(220,38,38,0.55);
}

/* 通用危险按钮（如「删除所有消息」确认） */
.uc-modal-btn.is-danger {
  background: linear-gradient(135deg, #ef4444, #dc2626); color: #fff;
  box-shadow: 0 6px 16px rgba(220,38,38,0.35);
}
.uc-modal-btn.is-danger:hover { opacity: 0.95; box-shadow: 0 8px 22px rgba(220,38,38,0.5); }

/* === 个人中心 · 通用确认弹窗（替代原生 confirm，已美化） === */
.uc-modal-dialog.uc-confirm-dialog {
  max-width: 400px; text-align: center;
  padding: 34px 28px 26px; gap: 0;
  border-color: rgba(139,92,246,0.18);
  background:
    radial-gradient(130% 80% at 50% -20%, rgba(124,58,237,0.14), transparent 62%),
    var(--bg-card);
  box-shadow: 0 24px 60px rgba(0,0,0,0.5), 0 0 0 1px rgba(139,92,246,0.12), var(--shadow-glow);
}
/* 顶部高光条：危险弹窗着色为红色，普通确认为紫色 */
.uc-confirm-dialog::before {
  content: ''; position: absolute; inset: 0 0 auto 0; height: 3px;
  border-radius: var(--radius-lg) var(--radius-lg) 0 0;
  background: linear-gradient(90deg, transparent, #7c3aed, transparent);
}
.uc-confirm-dialog:has(.uc-confirm-icon.is-danger)::before {
  background: linear-gradient(90deg, transparent, #ef4444, transparent);
}
.uc-confirm-icon {
  width: 66px; height: 66px; margin: 2px auto 18px;
  display: flex; align-items: center; justify-content: center;
  border-radius: 50%; color: #a78bfa;
  background: radial-gradient(circle at 50% 40%, rgba(124,58,237,0.32), rgba(59,130,246,0.12));
  box-shadow: 0 0 0 1px rgba(139,92,246,0.4), 0 0 0 8px rgba(124,58,237,0.08), 0 10px 30px rgba(124,58,237,0.35);
}
.uc-confirm-icon.is-danger {
  color: #f87171;
  background: radial-gradient(circle at 50% 40%, rgba(220,38,38,0.34), rgba(239,68,68,0.1));
  box-shadow: 0 0 0 1px rgba(248,113,113,0.45), 0 0 0 8px rgba(220,38,38,0.1), 0 10px 30px rgba(220,38,38,0.4);
  animation: ucConfirmPulse 2s ease-in-out infinite;
}
.uc-confirm-icon svg { width: 32px; height: 32px; }
/* 危险图标呼吸光晕（提示需谨慎操作） */
@keyframes ucConfirmPulse {
  0%, 100% {
    box-shadow: 0 0 0 1px rgba(248,113,113,0.45), 0 0 0 8px rgba(220,38,38,0.1), 0 10px 30px rgba(220,38,38,0.4);
  }
  50% {
    box-shadow: 0 0 0 1px rgba(248,113,113,0.6), 0 0 0 13px rgba(220,38,38,0.14), 0 10px 34px rgba(220,38,38,0.55);
  }
}
.uc-confirm-title {
  font-size: 1.28rem; font-weight: 800; letter-spacing: 0.01em;
  color: #fff; margin-bottom: 10px;
}
.uc-confirm-msg {
  font-size: 0.9rem; color: var(--text-secondary); line-height: 1.75;
  white-space: pre-line; max-width: 30em; margin: 0 auto;
}
.uc-confirm-actions {
  display: flex; gap: 12px; margin-top: 26px;
  padding-top: 22px; border-top: 1px solid var(--border-light);
}
.uc-confirm-btn {
  flex: 1; padding: 13px; border: none; border-radius: 12px;
  font-family: inherit; font-size: 0.95rem; font-weight: 700; cursor: pointer;
  transition: box-shadow 0.2s, transform 0.1s, filter 0.2s, color 0.2s, border-color 0.2s;
}
.uc-confirm-btn:active { transform: scale(0.97); }
.uc-confirm-btn.is-cancel {
  background: var(--bg-input); color: var(--text-secondary);
  border: 1px solid var(--border-light);
}
.uc-confirm-btn.is-cancel:hover { color: #fff; border-color: rgba(124,58,237,0.5); }
.uc-confirm-btn.is-danger {
  background: linear-gradient(135deg, #ef4444, #dc2626); color: #fff;
  box-shadow: 0 8px 22px rgba(220,38,38,0.38);
}
.uc-confirm-btn.is-danger:hover { box-shadow: 0 10px 28px rgba(220,38,38,0.55); filter: brightness(1.06); }
.uc-confirm-btn.is-primary {
  background: var(--gradient-purple); color: #fff;
  box-shadow: 0 8px 22px rgba(124,58,237,0.4);
}
.uc-confirm-btn.is-primary:hover { box-shadow: 0 10px 28px rgba(124,58,237,0.55); filter: brightness(1.06); }
.uc-confirm-out { animation: ucConfirmFadeOut 0.19s ease forwards; }
@keyframes ucConfirmFadeOut { from { opacity: 1; } to { opacity: 0; } }

/* === 个人中心 · 轻提示 Toast（替代原生 alert） === */
.uc-toast-stack {
  position: fixed; top: 132px; left: 50%; transform: translateX(-50%);
  z-index: 3000; display: flex; flex-direction: column; align-items: center; gap: 10px;
  padding: 0 16px; max-width: 100%; pointer-events: none;
}
.uc-toast {
  pointer-events: auto; cursor: pointer;
  display: flex; align-items: center; gap: 10px;
  max-width: min(88vw, 420px); padding: 12px 18px; border-radius: 14px;
  background: rgba(17,25,64,0.96); border: 1px solid var(--border-light);
  box-shadow: 0 16px 40px rgba(0,0,0,0.45), var(--shadow-glow);
  backdrop-filter: blur(8px);
  color: var(--text-primary); font-size: 0.9rem; font-weight: 600;
  opacity: 0; transform: translateY(-12px) scale(0.98);
  transition: opacity 0.22s ease, transform 0.22s ease;
}
.uc-toast.is-in { opacity: 1; transform: translateY(0) scale(1); }
.uc-toast.is-out { opacity: 0; transform: translateY(-10px) scale(0.98); }
.uc-toast-ico {
  flex: 0 0 26px; width: 26px; height: 26px;
  display: flex; align-items: center; justify-content: center; border-radius: 50%;
}
.uc-toast-ico svg { width: 15px; height: 15px; }
.uc-toast-text { white-space: pre-line; line-height: 1.5; text-align: left; }
.uc-toast.is-success { border-color: rgba(52,211,153,0.35); }
.uc-toast.is-success .uc-toast-ico { color: #34d399; background: rgba(52,211,153,0.16); box-shadow: inset 0 0 0 1px rgba(52,211,153,0.35); }
.uc-toast.is-error { border-color: rgba(248,113,113,0.35); }
.uc-toast.is-error .uc-toast-ico { color: #f87171; background: rgba(220,38,38,0.18); box-shadow: inset 0 0 0 1px rgba(248,113,113,0.4); }
.uc-toast.is-info { border-color: rgba(139,92,246,0.35); }
.uc-toast.is-info .uc-toast-ico { color: #a78bfa; background: rgba(124,58,237,0.18); box-shadow: inset 0 0 0 1px rgba(139,92,246,0.4); }

/* 配置 */
.uc-form { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
.uc-field { display: flex; flex-direction: column; gap: 6px; }
.uc-field label { font-size: 0.82rem; color: var(--text-secondary); font-weight: 500; }
.uc-field input {
  background: var(--bg-input); border: 1px solid var(--border-light);
  border-radius: 10px; padding: 11px 14px; color: var(--text-primary);
  font-size: 0.9rem; outline: none; font-family: inherit; transition: border-color 0.2s;
}
.uc-field input:focus { border-color: var(--purple-500); }
.uc-form-actions { grid-column: 1 / -1; display: flex; justify-content: flex-end; gap: 12px; }
.uc-switch-row {
  display: flex; align-items: center; justify-content: space-between;
  gap: 16px; padding: 14px 0; border-bottom: 1px solid var(--border-light);
}
.uc-switch-row:last-child { border-bottom: none; }
.uc-switch-row p { font-size: 0.85rem; color: var(--text-primary); font-weight: 500; }
.uc-switch-row span { font-size: 0.78rem; color: var(--text-muted); }
.uc-switch { position: relative; width: 44px; height: 24px; flex-shrink: 0; }
.uc-switch input { opacity: 0; width: 0; height: 0; }
.uc-switch-slider {
  position: absolute; inset: 0; border-radius: 100px; cursor: pointer;
  background: rgba(255,255,255,0.12); transition: background 0.25s;
}
.uc-switch-slider::before {
  content: ''; position: absolute; top: 3px; left: 3px;
  width: 18px; height: 18px; border-radius: 50%; background: #fff; transition: transform 0.25s;
}
.uc-switch input:checked + .uc-switch-slider { background: var(--gradient-purple); }
.uc-switch input:checked + .uc-switch-slider::before { transform: translateX(20px); }

/* === 自定义勾选控件（复选框 / 单选框，紫蓝渐变主题） === */
.uc-audit-check input,
.uc-fly-radio input {
  -webkit-appearance: none; appearance: none;
  flex-shrink: 0; width: 18px; height: 18px; margin: 0;
  border: 1.5px solid rgba(148,163,184,0.45); border-radius: 6px;
  background: rgba(255,255,255,0.03);
  cursor: pointer;
  transition: border-color 0.18s, background 0.18s, box-shadow 0.18s;
}
.uc-fly-radio input { border-radius: 50%; }
/* 未选中悬停：边框转紫 */
.uc-audit-check input:not(:checked):hover,
.uc-fly-radio input:not(:checked):hover { border-color: var(--purple-400); }
/* 键盘聚焦可见性 */
.uc-audit-check input:focus-visible,
.uc-fly-radio input:focus-visible { outline: 2px solid rgba(124,58,237,0.55); outline-offset: 2px; }
/* 选中：紫蓝渐变 + 柔光 */
.uc-audit-check input:checked,
.uc-fly-radio input:checked {
  border-color: transparent;
  box-shadow: 0 0 0 1px rgba(124,58,237,0.35), 0 2px 8px rgba(124,58,237,0.35);
}
/* 复选框选中勾 */
.uc-audit-check input:checked {
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / 12px 12px no-repeat, var(--gradient-purple);
}
/* 单选框选中圆点 */
.uc-fly-radio input:checked {
  background: radial-gradient(circle, #fff 0 2.6px, transparent 3px) center / 100% 100% no-repeat, var(--gradient-purple);
}
/* 选中项文字提亮 */
.uc-audit-check:has(input:checked),
.uc-fly-radio:has(input:checked) { color: var(--text-primary); }

/* === 个人中心 · 投注审核页 === */
.uc-audit-tabs {
  position: sticky; top: 0; z-index: 3;
  display: flex; align-items: center; gap: 4px;
  border-bottom: 1px solid var(--border-light); margin-bottom: 16px;
  background: var(--bg-primary);
}
.uc-audit-tab {
  position: relative; padding: 10px 18px; border: none; cursor: pointer;
  background: transparent; font-family: inherit;
  font-size: 0.9rem; font-weight: 600; color: var(--text-secondary);
  transition: color 0.2s;
}
.uc-audit-tab:hover { color: var(--text-primary); }
.uc-audit-tab.active { color: var(--purple-300); }
.uc-audit-tab.active::after {
  content: ''; position: absolute; left: 18px; right: 18px; bottom: -1px;
  height: 2px; border-radius: 2px; background: var(--gradient-purple);
}
.uc-audit-tab-count { margin-left: 4px; font-size: 0.78em; font-weight: 700; }

.uc-audit-filter { margin-bottom: 16px; }
.uc-audit-form { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
/* 桌面端行容器扁平化，保持单行布局；移动端再启用为两行 */
.uc-audit-form-row { display: contents; }
/* 桌面端：「所有消息」筛选栏吸顶，固定于标签栏下方；偏移由 JS 按标签栏实际高度写入 */
@media (min-width: 1025px) {
  .uc-audit-filter {
    position: sticky; top: var(--uc-audit-tabs-h, 36px); z-index: 2;
    background: var(--bg-card);
    box-shadow: 0 12px 20px -14px rgba(0, 0, 0, 0.7);
  }
}
.uc-audit-check {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: 0.88rem; color: var(--text-secondary); cursor: pointer;
}
.uc-audit-field { display: inline-flex; align-items: center; gap: 6px; font-size: 0.88rem; color: var(--text-secondary); }
.uc-audit-input {
  font-family: inherit; font-size: 0.85rem; color: var(--text-primary);
  color-scheme: dark;
  background: var(--bg-input); border: 1px solid var(--border-light);
  border-radius: 8px; padding: 8px 12px; outline: none;
  transition: border-color 0.2s;
}
.uc-audit-input:focus { border-color: rgba(124,58,237,0.5); }

/* === 自定义日期选择器（替换浏览器原生弹层，深色主题） === */
.uc-datepicker { position: relative; display: inline-flex; align-items: center; }
/* 原生 input 仅作取值载体：视觉隐藏且不接收点击 */
.uc-datepicker > input[type="date"] {
  position: absolute; width: 1px; height: 1px;
  opacity: 0; pointer-events: none;
}
.uc-audit-input.uc-datepicker:hover,
.uc-modal-input.uc-datepicker:hover { border-color: rgba(124,58,237,0.5); }
.uc-datepicker-display {
  flex: 1; min-width: 0; width: 100%;
  display: inline-flex; align-items: center; justify-content: space-between; gap: 8px;
  padding: 0; margin: 0; border: 0; background: transparent;
  font: inherit; color: inherit; cursor: pointer; text-align: left;
}
.uc-datepicker-value { font-variant-numeric: tabular-nums; white-space: nowrap; }
.uc-datepicker-value.is-empty { color: var(--text-muted); }
.uc-datepicker-icon {
  flex-shrink: 0; width: 15px; height: 15px;
  background-color: var(--purple-300); opacity: 0.75;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cpath d='M16 2v4M8 2v4M3 10h18'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cpath d='M16 2v4M8 2v4M3 10h18'/%3E%3C/svg%3E") center / contain no-repeat;
  transition: opacity 0.2s;
}
.uc-datepicker-display:hover .uc-datepicker-icon { opacity: 1; }

/* 日历弹层 */
.uc-datepicker-panel {
  position: fixed; z-index: 2300;
  width: 264px; max-width: calc(100vw - 16px);
  padding: 12px;
  background: var(--bg-card); border: 1px solid var(--border-light);
  border-radius: 12px; color: var(--text-primary);
  box-shadow: 0 18px 48px rgba(0,0,0,0.5);
}
.uc-datepicker-panel[hidden] { display: none; }
.uc-datepicker-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 10px; }
.uc-datepicker-title { font-size: 0.85rem; font-weight: 700; }
.uc-datepicker-nav {
  width: 26px; height: 26px; flex-shrink: 0;
  display: inline-flex; align-items: center; justify-content: center;
  border: 1px solid var(--border-light); border-radius: 7px;
  background: transparent; color: var(--text-secondary);
  font-size: 0.9rem; line-height: 1; cursor: pointer; transition: all 0.2s;
}
.uc-datepicker-nav:hover { color: #fff; border-color: rgba(124,58,237,0.5); background: rgba(124,58,237,0.16); }
.uc-datepicker-week,
.uc-datepicker-days { display: grid; grid-template-columns: repeat(7, 1fr); gap: 2px; }
.uc-datepicker-week { margin-bottom: 6px; }
.uc-datepicker-week span { text-align: center; font-size: 0.68rem; color: var(--text-muted); }
.uc-datepicker-day {
  height: 30px; border: 0; border-radius: 7px; cursor: pointer;
  background: transparent; color: var(--text-secondary);
  font-family: inherit; font-size: 0.78rem; font-variant-numeric: tabular-nums;
  transition: background 0.15s, color 0.15s;
}
.uc-datepicker-day:hover { background: rgba(255,255,255,0.08); color: var(--text-primary); }
.uc-datepicker-day.is-today { color: var(--purple-300); box-shadow: inset 0 0 0 1px rgba(124,58,237,0.5); }
.uc-datepicker-day.is-selected { background: var(--gradient-purple); color: #fff; font-weight: 700; box-shadow: none; }
.uc-datepicker-day.is-empty { background: transparent; cursor: default; pointer-events: none; }
.uc-datepicker-day.is-disabled { color: var(--text-muted); opacity: 0.35; cursor: not-allowed; pointer-events: none; }
.uc-datepicker-foot {
  display: flex; align-items: center; justify-content: space-between;
  margin-top: 10px; padding-top: 10px; border-top: 1px solid var(--border-light);
}
.uc-datepicker-foot button {
  padding: 4px 8px; border: 0; border-radius: 7px; cursor: pointer;
  background: transparent; color: var(--purple-300);
  font-family: inherit; font-size: 0.78rem; font-weight: 600; transition: background 0.15s;
}
.uc-datepicker-foot button:hover { background: rgba(124,58,237,0.16); }
.uc-audit-keyword { flex: 1; min-width: 180px; }
.uc-audit-search { flex-shrink: 0; }

.uc-audit-list { list-style: none; display: flex; flex-direction: column; gap: 12px; position: relative; z-index: 0; }
.uc-audit-item {
  display: flex; gap: 14px; padding: 16px;
  background: var(--bg-card); border: 1px solid var(--border-light);
  border-radius: var(--radius); transition: background 0.2s, border-color 0.2s;
}
.uc-audit-item:hover { background: var(--bg-card-hover); border-color: rgba(124,58,237,0.4); }
.uc-audit-index {
  flex-shrink: 0; width: 24px; height: 24px; border-radius: 50%; margin-top: 1px;
  display: flex; align-items: center; justify-content: center;
  font-size: 0.72rem; font-weight: 700;
  background: rgba(255,255,255,0.06); color: var(--text-secondary);
}
.uc-audit-item.unread .uc-audit-index { background: var(--gradient-purple); color: #fff; }
.uc-audit-main { flex: 1; min-width: 0; }
.uc-audit-head {
  display: flex; align-items: center; justify-content: flex-end; gap: 8px;
  margin-bottom: 10px;
}
.uc-audit-name { font-size: 0.95rem; font-weight: 700; color: var(--purple-300); }
.uc-audit-dot {
  order: -1; width: 22px; height: 6px; border-radius: 3px; background: transparent;
}
.uc-audit-item.unread .uc-audit-dot { background: var(--purple-400); box-shadow: 0 0 8px rgba(167,139,250,0.6); }
.uc-audit-row {
  display: flex; align-items: center; justify-content: space-between;
  gap: 12px; margin-bottom: 6px;
  font-size: 0.85rem; color: var(--text-secondary);
}
.uc-audit-row em { font-style: normal; font-weight: 700; color: var(--text-primary); }
.uc-audit-row .is-amount { color: var(--yellow-400); }
.uc-audit-text { margin-bottom: 10px; font-size: 0.85rem; color: var(--text-muted); line-height: 1.5; }
.uc-audit-text span { color: var(--text-secondary); }
.uc-audit-stats {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px;
  margin-bottom: 12px; font-size: 0.85rem; color: var(--text-secondary);
}
.uc-audit-stats span:nth-child(2) { text-align: center; }
.uc-audit-stats span:nth-child(3) { text-align: right; }
.uc-audit-stats b { font-weight: 700; }
.uc-audit-stats .is-yes { color: var(--green-400); }
.uc-audit-stats .is-no { color: var(--red-400); }
.uc-audit-actions { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.uc-btn-refund {
  padding: 8px 20px; border: none; border-radius: 100px; cursor: pointer;
  font-family: inherit; font-size: 0.82rem; font-weight: 700; color: #fff;
  background: linear-gradient(135deg, #f59e0b, #ef4444);
  transition: opacity 0.2s, transform 0.2s;
}
.uc-btn-refund:hover { opacity: 0.9; }
.uc-btn-refund:active { transform: scale(0.97); }

/* === 个人中心 · 审核页「用户折叠」 === */
.uc-fold-bar {
  display: flex; align-items: center; justify-content: space-between;
  gap: 16px; flex-wrap: wrap; padding: 12px 16px; margin-bottom: 16px;
}
.uc-fold-total { font-size: 0.88rem; color: var(--text-secondary); }
.uc-fold-total b { color: var(--text-primary); font-weight: 700; }
.uc-fold-filter { display: inline-flex; align-items: center; gap: 12px; }
/* 待审核面板去掉左侧统计文字后，筛选区保持靠右 */
.uc-audit-panel[data-uc-audit-tabpanel="pending"] .uc-fold-filter { margin-left: auto; }

.uc-fold-list { list-style: none; display: flex; flex-direction: column; gap: 12px; }
.uc-fold-item {
  padding: 16px;
  background: var(--bg-card); border: 1px solid var(--border-light);
  border-radius: var(--radius); transition: background 0.2s, border-color 0.2s;
}
.uc-fold-item:hover { background: var(--bg-card-hover); border-color: rgba(124,58,237,0.4); }
.uc-fold-head { display: flex; align-items: center; gap: 10px; }
.uc-fold-index {
  flex-shrink: 0; width: 24px; height: 24px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: 0.72rem; font-weight: 700;
  background: rgba(255,255,255,0.06); color: var(--text-secondary);
}
.uc-fold-name {
  padding: 0; border: none; background: none; cursor: pointer;
  font-family: inherit; font-size: 0.95rem; font-weight: 700;
  color: var(--purple-300); transition: color 0.2s;
}
.uc-fold-name:hover { color: var(--purple-400); }
.uc-fold-meta {
  margin-top: 8px; padding-left: 34px;
  font-size: 0.85rem; color: var(--text-secondary);
}
.uc-fold-meta b { color: var(--text-primary); font-weight: 700; }
.uc-fold-meta span { margin-left: 14px; }
.uc-fold-body { margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--border-light); }

/* === 个人中心 · 统计页 === */
.uc-stat-bar {
  display: flex; align-items: center; flex-wrap: wrap; gap: 16px;
  padding: 14px 16px; margin-bottom: 16px;
}
.uc-stat-summary {
  display: flex; align-items: center; justify-content: space-between;
  flex-wrap: wrap; gap: 12px;
  padding: 14px 16px; margin-bottom: 16px;
}
.uc-stat-sum { font-size: 0.9rem; color: var(--text-secondary); }
.uc-stat-sum b { font-weight: 700; color: var(--text-primary); }
.uc-stat-sum-item + .uc-stat-sum-item { margin-left: 8px; }
.uc-stat-actions {
  display: flex; align-items: center; justify-content: flex-end;
  flex-wrap: wrap; gap: 10px;
  padding: 14px 16px; margin-bottom: 16px;
}
.uc-stat-detail {
  padding: 0; border: none; background: none; cursor: pointer;
  font-family: inherit; font-size: 0.85rem; font-weight: 600;
  color: var(--purple-300); transition: color 0.2s;
}
.uc-stat-detail:hover { color: var(--purple-400); text-decoration: underline; }

/* 统计页：投注明细图片弹窗 */
.uc-stat-img-dialog { width: 92vw; max-width: 92vw; }
.uc-stat-img-actions { display: flex; align-items: center; justify-content: flex-end; gap: 10px; }
.uc-stat-img-actions [data-uc-stat-img-share][hidden] { display: none; }
.uc-stat-img-path { font-size: 0.75rem; color: #d4872a; word-break: break-all; }
.uc-stat-img-path[hidden] { display: none; }
.uc-stat-img-ios-tip { font-size: 0.75rem; color: var(--text-secondary); text-align: center; }
.uc-stat-img-ios-tip[hidden] { display: none; }
.uc-stat-img-scroll { flex: 1; min-height: 0; overflow: auto; display: flex; justify-content: center; }
.uc-stat-img-preview { width: 100%; height: auto; border-radius: 8px; display: block; }

/* 统计页：开奖号码列表 */
.uc-stat-win-card { padding: 0; }
.uc-stat-win-card[hidden] { display: none; }
.uc-stat-win-list { list-style: none; display: flex; flex-direction: column; }
.uc-stat-win-item { padding: 14px 18px; border-bottom: 1px solid var(--border-light); }
.uc-stat-win-item:last-child { border-bottom: none; }
.uc-stat-win-qs { font-size: 0.9rem; font-weight: 600; color: var(--text-primary); }
.uc-stat-win-nb { margin-top: 6px; font-size: 0.9rem; color: var(--text-secondary); word-break: break-all; }
.uc-stat-win-actions { margin-top: 12px; display: flex; flex-wrap: wrap; gap: 8px; }
.uc-stat-table-empty { padding: 18px 0 4px; text-align: center; font-size: 0.85rem; color: var(--text-secondary); }
.uc-stat-table-empty[hidden] { display: none; }
.uc-modal-readonly {
  font-size: 0.85rem; color: var(--text-primary);
  background: var(--bg-card); border: 1px solid var(--border-light);
  border-radius: 10px; padding: 10px 12px;
}

/* 弹窗输入框 */
.uc-modal-input {
  width: 100%; font-family: inherit; font-size: 0.85rem; color: var(--text-primary);
  color-scheme: dark;
  background: var(--bg-card); border: 1px solid var(--border-light);
  border-radius: 10px; padding: 10px 12px; outline: none; transition: border-color 0.2s;
}
.uc-modal-input:focus { border-color: rgba(124,58,237,0.5); box-shadow: 0 0 0 3px rgba(124,58,237,0.15); }
/* 表单式弹窗：字段纵向排列，字段间以分隔线区分 */
.uc-modal-fields { display: flex; flex-direction: column; }
.uc-modal-field {
  display: flex; flex-direction: column; gap: 8px;
  padding: 14px 0; border-bottom: 1px solid var(--border-light);
}
.uc-modal-field:first-child { padding-top: 0; }
.uc-modal-line.uc-modal-actions { justify-content: flex-end; }

/* === 消息详情弹窗（审核「调整内容」） === */
.uc-modal {
  position: fixed; inset: 0; z-index: 2100;
  display: flex; align-items: center; justify-content: center;
  padding: 20px;
}
.uc-modal[hidden] { display: none; }
.uc-modal-overlay {
  position: absolute; inset: 0;
  background: rgba(8,13,30,0.75); backdrop-filter: blur(6px);
}
.uc-modal-dialog {
  position: relative; z-index: 1; width: 100%; max-width: 560px;
  max-height: calc(100vh - 40px); overflow-y: auto;
  background: var(--bg-card); border: 1px solid var(--border-light);
  border-radius: var(--radius-lg); padding: 24px;
  box-shadow: var(--shadow-glow); animation: authPop 0.3s ease;
  display: flex; flex-direction: column; gap: 16px;
}
.uc-modal-close {
  position: absolute; top: 14px; right: 18px;
  background: none; border: none; color: #ef4444;
  font-size: 1.6rem; line-height: 1; cursor: pointer; transition: opacity 0.2s;
}
.uc-modal-close:hover { opacity: 0.8; }
.uc-modal-title { font-size: 1.15rem; text-align: center; color: var(--text-primary); }
.uc-modal-section {
  display: flex; flex-direction: column; gap: 10px;
  background: var(--bg-input); border: 1px solid var(--border-light);
  border-radius: 12px; padding: 14px 16px;
}
.uc-modal-name { font-size: 0.95rem; font-weight: 700; color: var(--text-primary); }
.uc-modal-line { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
.uc-modal-label { font-size: 0.85rem; color: var(--text-secondary); }
.uc-modal-label em { font-style: normal; color: var(--text-primary); }
.uc-modal-info { color: #60a5fa; }
.uc-modal-no { color: var(--red-400); }
.uc-modal-text { font-size: 0.85rem; color: var(--text-primary); }
.uc-modal-btns { display: inline-flex; gap: 8px; }
.uc-modal-btn {
  font-family: inherit; font-size: 0.8rem; font-weight: 600;
  border: none; border-radius: 8px; padding: 7px 14px; cursor: pointer;
  transition: opacity 0.2s, transform 0.1s;
}
.uc-modal-btn:hover { opacity: 0.9; }
.uc-modal-btn:active { transform: scale(0.97); }
.uc-modal-btn.is-approve { background: #dbeafe; color: #1d4ed8; }
.uc-modal-btn.is-refund { background: #dc2626; color: #fff; }
.uc-modal-btn.is-recognize { background: #2563eb; color: #fff; }
.uc-modal-link { font-size: 0.85rem; color: #60a5fa; }
.uc-modal-textarea {
  width: 100%; resize: vertical; min-height: 72px;
  font-family: inherit; font-size: 0.85rem; color: var(--text-primary);
  background: var(--bg-card); border: 1px solid var(--border-light);
  border-radius: 10px; padding: 10px 12px; outline: none; transition: border-color 0.2s;
}
.uc-modal-textarea:focus { border-color: rgba(124,58,237,0.5); }
/* 审核详情弹窗：再次识别输入框滚动条美化 */
.uc-modal-textarea { scrollbar-width: thin; scrollbar-color: rgba(124,58,237,0.5) transparent; }
.uc-modal-textarea::-webkit-scrollbar { width: 8px; }
.uc-modal-textarea::-webkit-scrollbar-track { background: transparent; }
.uc-modal-textarea::-webkit-scrollbar-thumb { background: rgba(124,58,237,0.45); border-radius: 100px; }
.uc-modal-textarea::-webkit-scrollbar-thumb:hover { background: rgba(124,58,237,0.75); }
.uc-modal-subtitle { font-size: 0.95rem; font-weight: 700; color: var(--text-primary); }
.uc-modal-result {
  background: var(--bg-card); border: 1px solid var(--border-light);
  border-radius: 10px; overflow: hidden;
}
.uc-modal-result-head {
  padding: 8px 12px; font-size: 0.8rem; color: var(--text-secondary);
  background: rgba(255,255,255,0.04); border-bottom: 1px solid var(--border-light);
}
.uc-modal-result-line { padding: 10px 12px; font-size: 0.85rem; color: var(--text-primary); }

/* 审核页接口对接补充 */
.uc-modal-btn:disabled { opacity: 0.5; cursor: not-allowed; }
button.uc-modal-link {
  background: none; border: none; padding: 0; cursor: pointer;
  font-family: inherit; font-size: 0.85rem; color: #60a5fa;
}
button.uc-modal-link:hover { text-decoration: underline; }
.uc-audit-all-count { margin-left: auto; order: 1; }

/* 审核详情弹窗：内容滚动条美化（Chromium / 移动端 WebKit） */
#auditDetailModal .uc-modal-dialog::-webkit-scrollbar { width: 8px; }
#auditDetailModal .uc-modal-dialog::-webkit-scrollbar-track { background: transparent; }
#auditDetailModal .uc-modal-dialog::-webkit-scrollbar-thumb {
  background: rgba(124,58,237,0.45); border-radius: 100px;
}
#auditDetailModal .uc-modal-dialog::-webkit-scrollbar-thumb:hover {
  background: rgba(124,58,237,0.7);
}

/* 审核详情弹窗：说明文案 / 展开链接（对齐迁移项目，红色告警色） */
.uc-modal-warn { color: #ee0a24; font-weight: 500; }
button.uc-audit-desc-toggle { color: #ee0a24; font-weight: 500; text-decoration: underline; }
[data-uc-detail-mode] { font-weight: normal; color: var(--text-primary); }
[data-uc-detail-mode].uc-modal-no { color: #ee0a24; font-weight: 700; }

/* 审核详情弹窗：常用修复操作展开区 */
.uc-audit-desc-body {
  white-space: pre-wrap;
  font-size: 13px; line-height: 1.8;
  color: #666;
  background: #fff9f9;
  border: 1px solid #ffd7d7;
  border-radius: 6px;
  padding: 10px 14px;
  margin-bottom: 12px;
}

/* 审核页：改字标记（列表 + 详情） */
.uc-audit-text .uc-audit-edit-mark,
.uc-modal-link .uc-audit-edit-mark { color: #ee0a24; font-weight: 700; margin-right: 2px; }
/* 审核列表：序号列 + 图片标签 + 群标识 */
.uc-audit-seq-wrap { flex-shrink: 0; display: flex; align-items: center; gap: 4px; }
.uc-audit-img-tag { font-size: 0.75rem; font-weight: 500; padding: 2px 8px; border-radius: 8px; color: #fff; background: #ff976a; white-space: nowrap; }
.uc-audit-group { margin-left: auto; font-size: 0.75rem; font-weight: 500; color: #fff; background: var(--gradient-purple); padding: 4px 10px; border-radius: 10px; white-space: nowrap; }
/* 审核详情：图片消息 */
.uc-modal-img { margin-bottom: 12px; }
.uc-modal-img img { max-width: 100%; max-height: 320px; object-fit: contain; background: #f7f8fa; border-radius: 6px; cursor: pointer; display: block; }
/* 审核详情：加载态 */
.uc-modal-loading { display: flex; flex-direction: column; align-items: center; gap: 10px; padding: 60px 0; color: var(--text-secondary); font-size: 0.85rem; }
#auditDetailModal .uc-modal-dialog.is-loading .uc-modal-section { display: none; }
[data-uc-detail-issue] { display: flex; flex-direction: column; gap: 10px; }
/* 图片预览层 */
.uc-img-preview { position: fixed; inset: 0; z-index: 9999; background: rgba(0,0,0,0.85); display: flex; align-items: center; justify-content: center; }
.uc-img-preview img { max-width: 92%; max-height: 92%; }
.uc-img-preview-close { position: absolute; top: 16px; right: 20px; width: 36px; height: 36px; border: none; border-radius: 50%; background: rgba(255,255,255,0.15); color: #fff; font-size: 1.4rem; line-height: 1; cursor: pointer; }
.uc-modal-loading[hidden], .uc-img-preview[hidden], .uc-modal-img[hidden],
[data-uc-detail-issue][hidden] { display: none; }

@media (max-width: 1024px) {
  .uc-layout { grid-template-columns: 1fr; }
  /* 固定布局下移动端：侧栏（底栏）不占行高，内容区填满剩余高度并独立滚动 */
  body.page-user .uc-layout { grid-template-rows: auto minmax(0, 1fr); }
  .uc-sidebar { position: static; }
  .uc-nav {
    position: fixed; bottom: 0; left: 0; right: 0;
    z-index: 900; flex-direction: row; gap: 0;
    background: rgba(13,19,51,0.96);
    backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px);
    border-radius: 0; border-top: 1px solid var(--border-light);
    border-left: none; border-right: none; border-bottom: none;
    box-shadow: 0 -6px 24px rgba(0,0,0,0.35);
    padding: 4px 4px calc(4px + env(safe-area-inset-bottom, 0px));
  }
  /* 底部 Tab 栏：5 个入口等分铺满，图标在上、文字在下 */
  .uc-nav-item {
    position: relative; flex: 1 1 0; min-width: 0; width: auto;
    flex-direction: column; gap: 3px; text-align: center;
    padding: 6px 2px; border-radius: 10px;
    font-size: 0.7rem; font-weight: 600;
  }
  .uc-nav-icon { width: 26px; height: 26px; font-size: 1rem; }
  .uc-nav-badge {
    position: absolute; top: 2px; left: 50%; margin-left: 0;
    transform: translateX(6px); min-width: 16px; height: 16px;
    padding: 0 4px; font-size: 0.6rem;
  }
  /* 底部固定导航留出占位 */
  body.page-user { padding-bottom: calc(60px + env(safe-area-inset-bottom, 0px)); }
}
@media (max-width: 768px) {
  .uc-hero { position: sticky; top: 0; z-index: 200; padding: 10px 0 6px; }
  .uc-section { padding: 10px 0 64px; }
  /* 移动端侧栏为固定底栏，留空占位网格项会产生 28px 行间距；置 0 以精确控制顶部与内容间距 */
  .uc-layout { gap: 0; }
  .uc-footer { display: none; }
  .uc-card { padding: 18px; }
  .uc-card-msg { padding: 0; }
  .uc-form { grid-template-columns: 1fr; }
  .uc-user { gap: 14px; }
  .uc-avatar { width: 48px; height: 48px; border-radius: 14px; font-size: 0.8rem; }
  /* 顶部用户信息：移动端合并为一排（账号/试用版/剩余天数/充值），极窄屏自动折行兜底 */
  .uc-user-info { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; }
  .uc-user-meta { gap: 6px; margin-bottom: 0; }
  .uc-account,
  .uc-account strong { font-size: 14px; }
  .uc-vip { font-size: 12px; padding: 2px 9px; }
  .uc-recharge { margin-left: 8px; padding: 2px 9px; }
  .uc-trial-prefix { display: none; }
  .uc-user-info p { font-size: 0.8rem; }
  .uc-user-actions { width: auto; flex-shrink: 0; }
  .uc-back { padding: 8px; }
  .uc-back-text { display: none; }
  .uc-audit-tabs { overflow-x: visible; }
  .uc-audit-tab { flex: 1 1 0; min-width: 0; padding: 9px 8px; font-size: 0.8rem; text-align: center; }
  .uc-audit-tab.active::after { left: 8px; right: 8px; }
  .uc-audit-filter { margin-bottom: 12px; }
  /* 审核筛选：移动端分两行 —— 行一 投注/退单/昵称，行二 关键字/日期/查询 */
  .uc-audit-form { display: block; }
  .uc-audit-form-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px 12px;
  }
  .uc-audit-form-row + .uc-audit-form-row { margin-top: 10px; }
  /* 第二行：日期框保留可读最小宽度，关键字占剩余空间 */
  .uc-audit-form-row + .uc-audit-form-row .uc-audit-field { min-width: 132px; }
  /* 昵称占满本行剩余空间，保证下拉完整可见；关键字与日期均分第二行 */
  .uc-audit-form-row .uc-audit-field { flex: 1 1 0; min-width: 0; }
  .uc-audit-form-row .uc-audit-check { flex: 0 0 auto; }
  .uc-audit-form-row .uc-audit-keyword { flex: 1 1 0; min-width: 0; }
  .uc-audit-form-row .uc-audit-search { flex: 0 0 auto; }
  /* 移动端隐藏「日期」文字标签，仅保留日期选择框 */
  .uc-audit-date-label { display: none; }
  .uc-audit-field { min-width: 0; }
  .uc-audit-input { font-size: 0.8rem; padding: 8px 10px; }
  .uc-audit-field .uc-audit-input { flex: 1; min-width: 0; width: 100%; }
  .uc-audit-list { gap: 10px; }
  .uc-audit-item { padding: 14px; gap: 12px; }
  .uc-audit-index { width: 22px; height: 22px; }
  .uc-audit-name { font-size: 0.9rem; }
  .uc-audit-row { font-size: 0.8rem; }
  .uc-audit-text { font-size: 0.8rem; margin-bottom: 8px; }
  .uc-audit-stats { gap: 4px; font-size: 0.8rem; margin-bottom: 10px; }
  .uc-audit-actions .btn,
  .uc-audit-actions .uc-btn-refund { flex: 1; justify-content: center; }
  /* 用户折叠：移动端「总记录」与「日期」排成一行 */
  .uc-fold-bar { flex-wrap: nowrap; gap: 10px; padding: 12px; }
  .uc-fold-total { flex-shrink: 0; white-space: nowrap; }
  .uc-fold-filter { flex: 1 1 auto; justify-content: flex-end; min-width: 0; }
  .uc-fold-filter .uc-audit-field { flex: 1 1 auto; min-width: 0; }
  .uc-fold-filter .uc-audit-input { flex: 1 1 auto; min-width: 0; }
  .uc-fold-meta { padding-left: 32px; }
  /* 统计页：移动端按图片单行排布，不强行换行（元素可收缩适配屏宽） */
  .uc-stat-bar { flex-wrap: nowrap; justify-content: center; gap: 8px; padding: 12px; }
  .uc-stat-bar .uc-audit-field,
  .uc-stat-bar .uc-audit-input { min-width: 0; }
  .uc-stat-bar select.uc-audit-input,
  .uc-stat-bar .uc-audit-input.uc-select { padding: 6px 8px; font-size: 0.72rem; min-width: 70px; flex-shrink: 0; }
  .uc-stat-summary { flex-wrap: nowrap; gap: 8px; padding: 12px; }
  .uc-stat-sum { white-space: nowrap; }
  .uc-stat-actions { flex-wrap: nowrap; gap: 8px; padding: 12px; }
  /* 统计页：操作按钮移动端等分铺满一行 */
  .uc-stat-actions .btn { flex: 1 1 0; justify-content: center; padding: 8px 6px; font-size: 0.72rem; white-space: nowrap; }
  /* 统计页：开奖号码列表操作按钮移动端等分铺满一行（避免窄屏折行） */
  .uc-stat-win-actions .btn { flex: 1 1 0; justify-content: center; padding: 8px 6px; font-size: 0.72rem; white-space: nowrap; }
  /* 统计页：移动端表格按屏宽适配，列不横向滚动 */
  .uc-panel[data-uc-panel="stats"] .trend-table { min-width: 0; width: 100%; }
  .uc-panel[data-uc-panel="stats"] .trend-table th,
  .uc-panel[data-uc-panel="stats"] .trend-table td { padding: 8px 4px; font-size: 0.72rem; white-space: nowrap; text-align: center; }
  /* 风险页：移动端表格按屏宽适配 */
  .uc-panel[data-uc-panel="risk"] .trend-table { min-width: 0; width: 100%; }
  .uc-panel[data-uc-panel="risk"] .trend-table th,
  .uc-panel[data-uc-panel="risk"] .trend-table td { padding: 8px 4px; font-size: 0.72rem; white-space: nowrap; }
  /* 赔率绑定页：移动端表格按屏宽适配，列不横向滚动 */
  .uc-panel[data-uc-panel="bind"] .trend-table { min-width: 0; width: 100%; table-layout: fixed; }
  .uc-panel[data-uc-panel="bind"] .trend-table th,
  .uc-panel[data-uc-panel="bind"] .trend-table td { padding: 8px 6px; font-size: 0.78rem; }
  .uc-panel[data-uc-panel="bind"] .trend-table th:first-child,
  .uc-panel[data-uc-panel="bind"] .trend-table td:first-child { width: 44px; }
  .uc-panel[data-uc-panel="bind"] .trend-table th:last-child,
  .uc-panel[data-uc-panel="bind"] .trend-table td:last-child { width: 96px; }
  .uc-panel[data-uc-panel="bind"] .uc-bind-info { overflow-wrap: anywhere; }
  /* 风险页 / 统计页：移动端「开奖」标签与下拉框保持单行，不被压缩折行 */
  .uc-panel[data-uc-panel="risk"] .uc-stat-bar > .uc-audit-field:first-child,
  .uc-panel[data-uc-panel="stats"] .uc-stat-bar > .uc-audit-field:first-child {
    flex-shrink: 0;
    white-space: nowrap;
  }
  /* 统计页：移动端弹窗贴边留白与内容间距收紧 */
  .uc-modal { padding: 12px; }
  .uc-modal-dialog { padding: 20px 16px; }
  .uc-modal-close { top: 10px; right: 12px; }
  /* 方案子规则弹窗：移动端压缩输入框与按钮，避免横向溢出 */
  .uc-rule-table th, .uc-rule-table td { padding: 8px 6px; }
  .uc-rule-input { max-width: 76px; padding: 7px 6px; font-size: 0.78rem; }
  .uc-rule-save { padding: 7px 12px; font-size: 0.78rem; }
  /* 飞单弹窗：移动端底部按钮保持单行不换行，收紧内边距避免溢出 */
  .uc-fly-actions .btn { padding: 9px 6px; font-size: 0.76rem; }
  /* 飞单弹窗：移动端「号码范围」行强制单行显示（标签+输入框+两单选） */
  .uc-fly-row-scope { gap: 6px; }
  .uc-fly-row-scope .uc-fly-label { width: auto; white-space: nowrap; font-size: 0.72rem; }
  .uc-fly-row-scope .uc-fly-control { flex-wrap: nowrap; gap: 6px; }
  .uc-fly-row-scope .uc-fly-input { width: 42px; padding: 8px 6px; }
  .uc-fly-row-scope .uc-fly-radio { gap: 4px; font-size: 0.72rem; white-space: nowrap; }
  .uc-fly-row-scope .uc-fly-radio input { width: 14px; height: 14px; }
}
@media (max-width: 480px) {
  .uc-user-info { min-width: 0; }
  .uc-account { font-size: 14px; }
  .uc-account strong { font-size: 14px; }
  .uc-user-meta { gap: 6px; }
  .uc-vip { padding: 2px 9px; font-size: 12px; }
  /* 统计页：窄屏压缩留白，操作按钮字号再降一档 */
  .uc-stat-bar,
  .uc-stat-summary,
  .uc-stat-actions { padding: 10px; }
  /* 统计页：极窄屏（≤480）汇总行允许换行，避免横向溢出 */
  .uc-stat-summary { flex-wrap: wrap; }
  .uc-stat-actions .btn { padding: 7px 4px; font-size: 0.68rem; }
  .uc-modal-dialog { padding: 18px 14px; }
}

/* 统计页：小于常见手机宽度（<360）时，查询行换行避免日期框被过度压缩 */
@media (max-width: 359px) {
  .uc-stat-bar { flex-wrap: wrap; }
  /* 风险页 / 统计页：极窄屏同样保持查询栏单行，「开奖」不换行 */
  .uc-panel[data-uc-panel="risk"] .uc-stat-bar,
  .uc-panel[data-uc-panel="stats"] .uc-stat-bar { flex-wrap: nowrap; }
}

