/* 支付管理中心 SPA 主题（2026-08-27 复刻官网系统 Ant Design Pro 风格）
   主色 #1890ff（hover #40a9ff）· 深侧栏 #001529 · 画布 #f0f2f5 · 白卡片 8px 圆角 */
:root {
  --pc-primary: #1890ff;
  --pc-primary-hover: #40a9ff;
  --pc-primary-light: #e6f7ff;
  --pc-accent: #13c2c2;
  --pc-bg: #f0f2f5;
  --pc-card: #fff;
  --pc-border: #f0f0f0;
  --pc-text: rgba(0, 0, 0, .75);
  --pc-text-2: rgba(0, 0, 0, .58);
  --pc-text-3: rgba(0, 0, 0, .42);
  --pc-success: #52c41a;
  --pc-success-bg: #f6ffed;
  --pc-danger: #ff4d4f;
  --pc-danger-bg: #fff1f0;
  --pc-warning: #faad14;
  --pc-radius: 6px;
  --pc-shadow: 0 1px 2px 0 rgba(0, 0, 0, .03), 0 1px 6px -1px rgba(0, 0, 0, .02), 0 2px 4px 0 rgba(0, 0, 0, .02);
  --pc-side-bg: #001529;
  --pc-side-bg-2: #001529;
  --pc-side-text: rgba(255, 255, 255, .65);
  --pc-side-active: #1890ff;
  /* Element Plus 主色家族（Ant #1890ff） */
  --el-color-primary: #1890ff;
  --el-color-primary-light-3: #46a6ff;
  --el-color-primary-light-5: #69c0ff;
  --el-color-primary-light-7: #91d5ff;
  --el-color-primary-light-8: #bae7ff;
  --el-color-primary-light-9: #e6f7ff;
  --el-color-primary-dark-2: #096dd9;
  --el-color-success: #52c41a;
  --el-color-success-light-9: #f6ffed;
  --el-color-danger: #ff4d4f;
  --el-color-danger-light-9: #fff1f0;
  --el-color-warning: #faad14;
  --el-border-radius-base: 6px;
  --el-font-size-base: 15px;
  --el-font-size-small: 14px;
  --el-font-size-medium: 15px;
  --el-font-size-large: 17px;
  --el-font-size-extra-small: 13px;
  /* Element Plus 组件文字/边框跟随 */
  --el-text-color-primary: rgba(0, 0, 0, .75);
  --el-text-color-regular: rgba(0, 0, 0, .58);
  --el-text-color-secondary: rgba(0, 0, 0, .42);
  --el-border-color: #d9d9d9;
  --el-border-color-light: #f0f0f0;
  --el-border-color-lighter: #f5f5f5;
  --el-fill-color-light: #fafafa;
}
html, body { height: 100%; margin: 0; font-size: 15px; }
body {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
  background: var(--pc-bg);
  color: var(--pc-text);
}
html.dark body { background: #10151b; }

#app { height: 100%; }
/* n-config-provider 参与高度链：否则 .pc-root height:100% 失效 → 整页滚动，左侧菜单与右侧内容无法独立滚动 */
#app > .n-config-provider { height: 100%; }
.pc-root { height: 100%; display: flex; }

/* 主按钮：TDesign 扁平品牌蓝（蓝底必须白字，含 plain 描边态） */
.el-button--primary {
  background: var(--pc-primary);
  border-color: var(--pc-primary);
  color: #fff;
  border-radius: var(--pc-radius);
}
.el-button--primary:hover, .el-button--primary:focus {
  background: var(--pc-primary-hover);
  border-color: var(--pc-primary-hover);
  color: #fff;
}
.el-button--primary.is-plain, .el-button--primary.is-plain:hover, .el-button--primary.is-plain:focus {
  color: #fff;
}

/* 侧边栏（TDesign 双栏导航：一级图标栏 + 二级菜单面板） */
.pc-sidebar {
  width: 244px;
  flex-shrink: 0;
  background: var(--pc-side-bg);
  border-right: 1px solid var(--pc-border);
  display: flex;
  flex-direction: column;
  transition: width .2s;
  overflow: hidden;
}
.pc-root.collapsed .pc-sidebar { width: 64px; }
.pc-menu-double { display: flex; flex: 1; min-height: 0; }

/* 一级图标栏 */
.pc-menu-rail {
  width: 64px;
  flex-shrink: 0;
  background: #fafafa;
  border-right: 1px solid var(--pc-border);
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 0 0 8px;
  overflow-y: auto;
  overflow-x: hidden;
}
.pc-menu-rail::-webkit-scrollbar { width: 4px; }
.pc-menu-rail::-webkit-scrollbar-thumb { background: rgba(0,0,0,.15); border-radius: 2px; }
.pc-rail-logo {
  height: 48px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 12px;
}
.pc-rail-logo .mark {
  width: 40px; height: 40px;
  border-radius: 8px;
  object-fit: cover;
  display: block;
}
.pc-rail-item {
  width: 48px; height: 48px;
  margin-bottom: 4px;
  border-radius: var(--pc-radius);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--pc-text-2);
  font-size: 20px;
  cursor: pointer;
  transition: background .15s, color .15s;
}
.pc-rail-item:hover { background: var(--pc-bg); color: var(--pc-primary); }
.pc-rail-item.active { background: var(--pc-primary); color: #fff; }

/* 二级菜单面板 */
.pc-menu-panel {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  background: #fff;
}
.pc-panel-title {
  height: 48px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  padding: 0 16px;
  font-size: 17px;
  font-weight: 700;
  color: var(--pc-text);
  white-space: nowrap;
  overflow: hidden;
}
.pc-panel-group {
  flex-shrink: 0;
  padding: 6px 16px 8px;
  font-size: 15px;
  color: var(--pc-text-3);
  text-align: center;
}
.pc-panel-items { flex: 1; overflow-y: auto; overflow-x: hidden; padding: 0 8px 8px; }
.pc-panel-items::-webkit-scrollbar { width: 4px; }
.pc-panel-items::-webkit-scrollbar-thumb { background: rgba(0,0,0,.15); border-radius: 2px; }
.pc-panel-item {
  text-align: center;
  height: 44px;
  line-height: 44px;
  padding: 0 12px;
  margin-bottom: 2px;
  border-radius: var(--pc-radius);
  font-size: 15px;
  color: var(--pc-text-2);
  cursor: pointer;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  transition: background .15s, color .15s;
}
.pc-panel-item:hover { background: var(--pc-bg); color: var(--pc-primary); }
.pc-panel-item.active { background: var(--pc-primary-light); color: var(--pc-primary); font-weight: 600; }

/* 暗色主题双栏适配 */
html.dark .pc-menu-rail { background: #161c26; border-color: #2b333f; }
html.dark .pc-menu-panel { background: #1a2029; }
html.dark .pc-panel-title { color: #e6e9ef; }
html.dark .pc-panel-item { color: #9aa3b2; }

/* 主区域 */
.pc-main { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.pc-topbar {
  height: 48px;
  background: var(--pc-card);
  border-bottom: 1px solid var(--pc-border);
  display: flex;
  align-items: center;
  padding: 0 20px;
  gap: 14px;
  flex-shrink: 0;
}
html.dark .pc-topbar { background: #1a2029; border-color: #2b333f; }
.pc-content { flex: 1; overflow-y: auto; padding: 18px 20px; }

/* 卡片（TDesign：6px 圆角 + 轻阴影） */
.pc-card {
  background: var(--pc-card);
  border-radius: var(--pc-radius);
  box-shadow: var(--pc-shadow);
  padding: 18px;
  margin-bottom: 16px;
}
html.dark .pc-card { background: #1a2029; }
.pc-card-title {
  font-size: 16px;
  font-weight: 600;
  color: var(--pc-text);
  margin-bottom: 14px;
  display: flex;
  align-items: center;
  gap: 8px;
}
html.dark .pc-card-title { color: #e6e9ef; }
.pc-card-title::before {
  content: '';
  width: 3px; height: 14px;
  border-radius: 2px;
  background: var(--pc-primary);
}
.pc-card-title .sub { font-size: 15px; font-weight: 400; color: var(--pc-text-3); margin-left: 4px; }

/* 统计卡片（XTUIDC：6px 圆角、26px/700 数字、涨绿跌红徽章） */
.pc-stat-grid { display: flex; flex-wrap: wrap; gap: 16px; margin-bottom: 16px; }
.pc-stat {
  flex: 1;
  min-width: 190px;
  background: var(--pc-card);
  border-radius: var(--pc-radius);
  box-shadow: var(--pc-shadow);
  padding: 18px 20px;
}
html.dark .pc-stat { background: #1a2029; }
.pc-stat .head { display: flex; justify-content: space-between; align-items: center; color: var(--pc-text-2); font-size: 15px; }
.pc-stat .icon {
  width: 34px; height: 34px;
  border-radius: var(--pc-radius);
  background: var(--el-color-primary-light-9);
  color: var(--pc-primary);
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 16px;
}
.pc-stat .num { margin-top: 10px; font-size: 28px; font-weight: 700; color: rgba(0, 0, 0, .75); line-height: 1.2; }
html.dark .pc-stat .num { color: #e6e9ef; }
.pc-stat .label { margin-top: 6px; font-size: 15px; color: var(--pc-text-2); }
.pc-stat .label b { color: var(--pc-primary); font-weight: 600; }

/* 趋势徽章（涨绿 / 跌红） */
.pc-trend {
  display: inline-block;
  font-size: 15px;
  padding: 1px 6px;
  border-radius: 3px;
  font-weight: 400;
}
.pc-trend.up { color: var(--pc-success); background: var(--pc-success-bg); }
.pc-trend.down { color: var(--pc-danger); background: var(--pc-danger-bg); }

/* 快捷操作 */
.pc-quick-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.pc-quick {
  display: flex; align-items: center; gap: 12px;
  padding: 14px 16px;
  border-radius: var(--pc-radius);
  background: var(--pc-bg);
  cursor: pointer;
  border: 1px solid transparent;
  transition: all .15s;
}
html.dark .pc-quick { background: #232b36; }
.pc-quick:hover { border-color: var(--pc-primary); background: var(--pc-primary-light); }
.pc-quick .q-icon { width: 40px; height: 40px; border-radius: var(--pc-radius); display: inline-flex; align-items: center; justify-content: center; font-size: 18px; }
.pc-quick .q-num { font-size: 22px; font-weight: 700; }
.pc-quick .q-label { font-size: 15px; color: var(--pc-text-3); }

/* 图表 */
.pc-chart { width: 100%; height: 320px; }

/* 表格工具栏 */
.pc-toolbar { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 14px; align-items: center; }
.pc-toolbar .el-input { width: 200px; }
.pc-pager { display: flex; justify-content: flex-end; margin-top: 14px; }

/* 登录页（XTUIDC：白底 + 柔光几何背景，表单左上定位） */
.pc-login {
  height: 100%;
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  background-color: #fff;
  background-image:
    radial-gradient(circle at 88% 18%, rgba(54, 110, 244, .14), transparent 34%),
    radial-gradient(circle at 96% 6%, rgba(66, 194, 251, .16), transparent 26%),
    radial-gradient(circle at 82% 42%, rgba(0, 82, 217, .07), transparent 30%),
    radial-gradient(circle at 68% 88%, rgba(66, 194, 251, .08), transparent 28%),
    linear-gradient(160deg, #fff 55%, #f4f7ff 100%);
  background-size: cover;
}
.pc-login-card {
  position: absolute;
  top: 22%;
  left: 5%;
  background: transparent;
  border-radius: 0;
  box-shadow: none;
  display: block;
  width: auto;
  max-width: none;
  min-height: 0;
  overflow: visible;
}
.pc-login-brand {
  display: block;
  background: none;
  color: var(--pc-text);
  padding: 0;
}
.pc-login-brand .logo { display: none; }
.pc-login-brand h2 {
  margin: 0;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
  font-size: 36px;
  line-height: 44px;
  font-weight: 400;
  letter-spacing: .06em;
  background: linear-gradient(115deg, #9ab1ff 0%, #547bff 55%, #4359cc 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
.pc-login-brand p { color: var(--pc-text-2); font-size: 15px; line-height: 1.9; margin: 10px 0 0; }
.pc-login-brand .foot { position: fixed; left: 5%; bottom: 64px; color: var(--pc-text-3); font-size: 14px; }
.pc-login-form { width: 400px; padding: 0; margin-top: 40px; display: block; }
.pc-login-form h1 { display: none; }
.pc-login-form .sub { margin: 0 0 24px; color: var(--pc-text-2); font-size: 15px; }
@media (max-width: 760px) {
  .pc-login-card { left: 6%; right: 6%; top: 12%; }
  .pc-login-form { width: 100%; }
}

/* 占位页 */
.pc-empty { text-align: center; padding: 80px 20px; color: var(--pc-text-3); }
.pc-empty .icon { font-size: 48px; opacity: .5; }
.pc-empty h3 { margin: 14px 0 8px; font-size: 18px; color: var(--pc-text-2); }
.pc-empty p { font-size: 15px; margin: 0; }

/* ============ 仪表盘 V2（规格版） ============ */
/* 顶部全局筛选栏：业务范围 + 时间范围胶囊 + 系统时间 */
.dash-filter2 {
  display: flex; align-items: center; gap: 8px; flex-wrap: wrap;
  background: #fff; border: 1px solid var(--pc-border); border-radius: var(--pc-radius);
  padding: 10px 14px; margin-bottom: 16px; box-shadow: var(--pc-shadow);
}
html.dark .dash-filter2 { background: #1a2029; border-color: #2b333f; }
.fc-group { display: flex; gap: 8px; align-items: center; }
.fc-right { margin-left: auto; }
.fc-pill {
  padding: 5px 16px; border-radius: 999px; font-size: 15px;
  color: var(--pc-text-2); cursor: pointer; user-select: none;
  background: #fff; border: 1px solid #e3e6ec;
  transition: all .15s;
}
.fc-pill:hover { color: #547bff; border-color: #547bff; }
.fc-pill.active { background: #547bff; border-color: #547bff; color: #fff; font-weight: 600; }
html.dark .fc-pill { background: #232b36; border-color: #2b333f; }
.sys-clock {
  margin-left: 14px; padding-left: 14px; border-left: 1px solid var(--pc-border);
  font-size: 15px; color: var(--pc-text-2); font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

/* 左右分栏：左侧数据摘要 + 右侧面积大图 */
.dash-overview { display: flex; gap: 16px; margin-bottom: 16px; align-items: stretch; }
.ov-left {
  width: 320px; flex: none;
  background: #fff; border: 1px solid var(--pc-border); border-radius: 10px;
  padding: 24px; box-shadow: var(--pc-shadow);
  display: flex; flex-direction: column; justify-content: center;
}
html.dark .ov-left { background: #1a2029; border-color: #2b333f; }
.ov-title { display: flex; align-items: center; justify-content: center; gap: 10px; font-size: 15px; color: var(--pc-text-2); }
.ov-tag {
  font-size: 15px; font-weight: 600; color: #547bff; background: rgba(22, 119, 255, .10);
  padding: 2px 10px; border-radius: 999px;
}
.ov-num { font-size: 40px; font-weight: 800; color: var(--pc-text); line-height: 1.15; margin-top: 14px; text-align: center; font-variant-numeric: tabular-nums; }
.ov-num small { font-size: 22px; font-weight: 600; margin-right: 2px; }
.ov-sub { margin-top: 8px; font-size: 15px; color: var(--pc-text-2); text-align: center; }
.ov-ratio-row { display: flex; align-items: center; justify-content: center; gap: 10px; margin-top: 18px; flex-wrap: wrap; }
.ov-prev { font-size: 15px; color: var(--pc-text-3); }
.hero-toggle { display: inline-flex; border: 1px solid var(--pc-border); border-radius: 999px; overflow: hidden; }
.hero-toggle span { padding: 3px 14px; font-size: 15px; color: var(--pc-text-2); cursor: pointer; transition: all .15s; }
.hero-toggle span.active { background: #547bff; color: #fff; }
.ov-right {
  flex: 1; min-width: 0;
  background: #fff; border: 1px solid var(--pc-border); border-radius: 10px;
  padding: 18px 20px 14px; box-shadow: var(--pc-shadow);
  position: relative; min-height: 280px;
}
html.dark .ov-right { background: #1a2029; border-color: #2b333f; }
.ov-chart { height: 280px; }
/* 4 指标卡：渐变四色图标 + 28px 数值 + 环比徽标（涨红跌绿） */
.dash-metrics { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin-bottom: 16px; }
.metric-card {
  background: #fff; border: 1px solid var(--pc-border); border-radius: 10px;
  padding: 18px 20px; box-shadow: var(--pc-shadow);
  display: flex; align-items: center; gap: 14px; cursor: pointer; transition: all .2s;
}
.metric-card:hover { transform: translateY(-2px); box-shadow: 0 8px 20px rgba(0, 0, 0, .08); }
html.dark .metric-card { background: #1a2029; border-color: #2b333f; }
.metric-icon {
  width: 48px; height: 48px; border-radius: 12px;
  display: flex; align-items: center; justify-content: center;
  font-size: 22px; color: #fff; flex: none;
}
.metric-body { min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.metric-label { font-size: 15px; color: var(--pc-text-3); }
.metric-num { font-size: 28px; font-weight: 800; color: var(--pc-text); line-height: 1.2; font-variant-numeric: tabular-nums; }
.metric-ratio { margin-top: 2px; }
.ratio-tag { font-size: 15px; font-weight: 600; padding: 1px 8px; border-radius: 999px; display: inline-block; }
.ratio-up { background: #fef0f3; color: #f1416c; }
.ratio-down { background: #f1fbf6; color: #50cd89; }
.ratio-flat { background: #f5f5f5; color: var(--pc-text-3); }
html.dark .ratio-flat { background: #2b333f; color: #9aa3b2; }

/* 3 图表卡：各 240px，空态遮罩 */
.dash-charts3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-bottom: 16px; }
.chart-card {
  background: #fff; border: 1px solid var(--pc-border); border-radius: 10px;
  padding: 18px 20px; box-shadow: var(--pc-shadow);
}
html.dark .chart-card { background: #1a2029; border-color: #2b333f; }
.chart-card h3 { font-size: 15px; font-weight: 600; color: var(--pc-text); margin-bottom: 12px; }
.chart-card h3 .sub { font-size: 15px; color: var(--pc-text-3); font-weight: 400; margin-left: 6px; }
.chart-box { height: 240px; position: relative; }
.chart-fill { height: 100%; }
.chart-empty {
  position: absolute; inset: 0; z-index: 5;
  display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 8px;
  background: rgba(255, 255, 255, .72); color: var(--pc-text-3); font-size: 15px; border-radius: 6px;
}
.chart-empty .icon { font-size: 34px; opacity: .4; }
html.dark .chart-empty { background: rgba(26, 32, 41, .72); }

/* 底部 4 小卡 */
.dash-smalls { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin-bottom: 16px; }
.small-card {
  background: #fff; border: 1px solid var(--pc-border); border-radius: 10px;
  padding: 16px 18px; box-shadow: var(--pc-shadow);
  display: flex; align-items: center; justify-content: center; gap: 12px; cursor: pointer; transition: all .2s;
}
.small-card:hover { transform: translateY(-2px); box-shadow: 0 8px 20px rgba(0, 0, 0, .08); }
html.dark .small-card { background: #1a2029; border-color: #2b333f; }
.small-icon { width: 40px; height: 40px; border-radius: 10px; display: flex; align-items: center; justify-content: center; font-size: 19px; flex: none; }
.small-num { font-size: 20px; font-weight: 800; color: var(--pc-text); line-height: 1.2; text-align: center; font-variant-numeric: tabular-nums; }
.small-label { font-size: 15px; color: var(--pc-text-3); margin-top: 2px; text-align: center; }

/* 快捷入口 8 个 */
.dash-quick8 {
  background: #fff; border: 1px solid var(--pc-border); border-radius: 10px;
  padding: 18px 20px; margin-bottom: 16px; box-shadow: var(--pc-shadow);
}
html.dark .dash-quick8 { background: #1a2029; border-color: #2b333f; }
.dash-quick8 h3 { font-size: 15px; font-weight: 600; color: var(--pc-text); margin-bottom: 14px; }
.quick-grid8 { display: grid; grid-template-columns: repeat(8, 1fr); gap: 10px; }
.quick-item {
  display: flex; flex-direction: column; align-items: center; gap: 8px;
  padding: 14px 6px; border-radius: 8px; cursor: pointer; transition: all .15s;
}
.quick-item:hover { background: var(--pc-primary-light); }
.quick-item .q-ico {
  width: 46px; height: 46px;
  border-radius: 12px;
  background: #f2f3ff;
  color: #547bff;
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 22px;
  transition: all .15s;
}
.quick-item:hover .q-ico { background: var(--pc-primary); color: #fff; }
.quick-item .q-name { font-size: 15px; color: var(--pc-text-2); }
html.dark .quick-item .q-ico { background: #1c2f4d; color: #4d94f0; }

/* 三模块：系统提示 / 授权状态 / 官方信息 */
.dash-modules { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.module-card {
  background: #fff; border: 1px solid var(--pc-border); border-radius: 10px;
  padding: 18px 20px; box-shadow: var(--pc-shadow);
}
html.dark .module-card { background: #1a2029; border-color: #2b333f; }
.module-card h3 { font-size: 15px; font-weight: 600; color: var(--pc-text); margin-bottom: 12px; }
.license-box { display: flex; align-items: center; gap: 12px; margin-bottom: 12px; }
.license-ver { font-size: 24px; font-weight: 800; color: var(--pc-text); font-variant-numeric: tabular-nums; }
.license-badge {
  font-size: 15px; font-weight: 600; color: #50cd89; background: #f1fbf6;
  padding: 3px 10px; border-radius: 999px;
}

/* 通用（三模块复用）：表格 / 公告 / 空态 */
.data-table { width: 100%; border-collapse: collapse; }
.data-table th {
  text-align: left; padding: 10px 8px; font-size: 15px; font-weight: 600;
  color: var(--pc-text-3); border-bottom: 1px solid #f0f3f8;
}
.data-table td { padding: 10px 8px; font-size: 15px; color: var(--pc-text); border-bottom: 1px solid #f0f3f8; }
html.dark .data-table td, html.dark .data-table th { border-color: #2b333f; }
.dash-news { list-style: none; margin: 0; padding: 4px 0; }
.dash-news li { display: flex; align-items: center; gap: 10px; padding: 14px 2px; border-bottom: 1px solid #f0f3f8; }
.dash-news li:last-child { border-bottom: 0; }
.dash-news li b { font-size: 15px; font-weight: 600; color: var(--pc-text); flex: none; max-width: 40%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dash-news li span { flex: 1; min-width: 0; font-size: 15px; color: var(--pc-text-2); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dash-news li em { flex: none; font-size: 15px; color: var(--pc-text-3); font-style: normal; }
html.dark .dash-news li { border-color: #2b333f; }
.table-empty { text-align: center; color: var(--pc-text-3); padding: 24px 0; font-size: 15px; }

/* 响应式：1200px 降两列，768px 降单列 */
@media (max-width: 1200px) {
  .dash-metrics { grid-template-columns: repeat(2, 1fr); }
  .dash-charts3 { grid-template-columns: 1fr; }
  .dash-smalls { grid-template-columns: repeat(2, 1fr); }
  .dash-modules { grid-template-columns: 1fr; }
  .quick-grid8 { grid-template-columns: repeat(4, 1fr); }
}
@media (max-width: 768px) {
  .dash-metrics { grid-template-columns: 1fr; }
  .dash-smalls { grid-template-columns: 1fr; }
  .ov-num { font-size: 32px; }
  .dash-overview { flex-direction: column; }
  .ov-left { width: auto; }
  .quick-grid8 { grid-template-columns: repeat(2, 1fr); }
}

/* ============ 经营快报 ============ */
.rpt-page {
  margin: -18px -20px;
  padding: 18px 20px 24px;
  min-height: calc(100vh - 48px);
  display: flex;
  flex-direction: column;
  background: linear-gradient(180deg, #eef4fe 0%, #f7f9fc 100%);
}
.rpt-head { display: flex; align-items: center; justify-content: flex-start; gap: 14px; margin-bottom: 16px; }
.rpt-head h2 { font-size: 20px; font-weight: 700; color: var(--pc-text); }
/* 工具行：月份选择 + 导出 Excel + 刷新（统一胶囊、等高） */
.rpt-tools { margin-left: auto; display: flex; align-items: center; gap: 12px; }
.rpt-tools .el-button { height: 34px; border-radius: 999px; padding: 0 16px; font-size: 15px; margin-left: 0; }
.rpt-tools .el-button .el-icon { margin-right: 6px; }
.rpt-btn-plain { background: #fff; border: 1px solid #d9d9d9; color: var(--pc-text); }
.rpt-btn-plain:hover { border-color: #547bff; color: #547bff; background: #fff; }
.rpt-btn-primary { background: #547bff; border: 1px solid #547bff; color: #fff; }
.rpt-btn-primary:hover { background: #3d8eff; border-color: #3d8eff; color: #fff; }
.rpt-month { width: 172px; }
.rpt-tools .el-date-editor { height: 34px; border-radius: 999px; }
.rpt-tools .el-date-editor .el-input__wrapper {
  border-radius: 999px;
  box-shadow: 0 0 0 1px #d9d9d9 inset;
  background: #fff;
  padding-left: 14px;
  transition: box-shadow .15s;
}
.rpt-tools .el-date-editor .el-input__wrapper:hover { box-shadow: 0 0 0 1px #547bff inset; }
.rpt-tools .el-date-editor .el-input__inner { color: var(--pc-text); }
.rpt-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin-bottom: 16px; }
.rpt-stat {
  background: #fff; border-radius: 12px; padding: 20px;
  display: flex; gap: 14px; align-items: center;
  box-shadow: 0 2px 6px rgba(0, 0, 0, .04);
}
.rpt-stat-icon {
  width: 46px; height: 46px; border-radius: 12px; flex: none;
  display: flex; align-items: center; justify-content: center;
  color: #fff; font-size: 22px;
}
.rpt-stat-body { min-width: 0; }
.rpt-stat-label { font-size: 15px; color: var(--pc-text-3); }
.rpt-stat-num { font-size: 28px; font-weight: 800; color: var(--pc-text); margin-top: 6px; font-variant-numeric: tabular-nums; }
.rpt-num-line { display: flex; align-items: center; flex-wrap: wrap; }
.rpt-dots-col {
  display: flex; flex-direction: column; gap: 2px;
  margin-left: 14px; font-size: 15px; font-weight: 400;
  color: var(--pc-text-3); line-height: 1.5;
}
.rpt-dot-line { display: flex; align-items: center; }
.rpt-stat-sub { font-size: 15px; color: var(--pc-text-3); margin-top: 4px; line-height: 1.7; }
.rpt-cols { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.rpt-card { background: #fff; border-radius: 12px; padding: 20px; box-shadow: 0 2px 6px rgba(0, 0, 0, .04); margin-bottom: 16px; display: flex; flex-direction: column; }
.rpt-detail { margin-bottom: 0; flex: 1; display: flex; flex-direction: column; }
.rpt-detail .rpt-cols { flex: 1; }
.rpt-card-title { font-size: 16px; font-weight: 700; color: var(--pc-text); margin-bottom: 6px; }
.rpt-row {
  display: flex; align-items: center; justify-content: space-between;
  padding: 16px 0; border-bottom: 1px solid #f0f3f8; font-size: 16px; flex: 1;
}
.rpt-row:last-child { border-bottom: none; }
.rpt-row span { color: var(--pc-text-2); }
.rpt-row b { color: var(--pc-text); font-weight: 700; font-variant-numeric: tabular-nums; }
.rpt-green { color: #10b981 !important; }
.rpt-blue { color: #547bff !important; }
.rpt-dots { font-size: 15px; color: var(--pc-text-3); padding-top: 10px; line-height: 1.7; flex: 1; display: flex; align-items: flex-end; }
.dot { display: inline-block; width: 8px; height: 8px; border-radius: 50%; margin-right: 4px; }
.dot:first-of-type { margin-left: 0; }
.dot + .dot { margin-left: 12px; }
.dot-income { background: #10b981; }
.dot-cost { background: #ef4444; }
.rpt-subcard {
  background: #fafbfe; border-radius: 10px; padding: 16px 18px;
  border: 1px solid #eef1f7;
  display: flex; flex-direction: column;
}
.rpt-subcard-title {
  display: flex; align-items: center; gap: 8px;
  font-size: 15px; font-weight: 700; color: var(--pc-text);
  padding-bottom: 8px; border-bottom: 1px solid #f0f3f8; margin-bottom: 2px;
}
.rpt-subcard-title .el-icon { color: #547bff; font-size: 16px; }
.rpt-detail .rpt-cols { margin-top: 10px; }
.rpt-detail > .rpt-cols > .rpt-subcard { margin-bottom: 0; }

/* 暗色适配 */
html.dark .rpt-page { background: linear-gradient(180deg, #101c30 0%, #10151b 100%); }
html.dark .rpt-stat, html.dark .rpt-card { background: #1a2029; }
html.dark .rpt-subcard { background: #161e29; border-color: #2b333f; }
html.dark .rpt-row, html.dark .rpt-subcard-title { border-color: #2b333f; }

@media (max-width: 1200px) {
  .rpt-stats { grid-template-columns: repeat(2, 1fr); }
  .rpt-cols { grid-template-columns: 1fr; }
}

/* ============ 数据大屏（深色科技风） ============ */
.bs-page {
  margin: -18px -20px;
  min-height: calc(100vh - 48px);
  padding: 0 16px 16px;
  background:
    radial-gradient(ellipse 50% 30% at 50% 0%, rgba(0, 120, 255, .18), transparent),
    radial-gradient(ellipse 30% 40% at 0% 60%, rgba(0, 80, 200, .10), transparent),
    radial-gradient(ellipse 30% 40% at 100% 60%, rgba(0, 160, 255, .10), transparent),
    linear-gradient(180deg, #06142b 0%, #050e20 100%);
  color: #cfe6ff;
}
.bs-header { position: relative; display: flex; align-items: center; justify-content: space-between; padding: 14px 8px 12px; }
.bs-time { font-size: 15px; color: #7ea6c8; font-variant-numeric: tabular-nums; }
.bs-title {
  position: absolute; left: 50%; transform: translateX(-50%);
  font-size: 24px; font-weight: 700; color: #fff; letter-spacing: 4px;
  display: flex; align-items: center; gap: 16px;
  text-shadow: 0 0 18px rgba(0, 180, 255, .55);
}
.bs-title i {
  display: block; width: 90px; height: 2px;
  background: linear-gradient(90deg, transparent, #00b4ff);
}
.bs-title i:last-child { background: linear-gradient(90deg, #00b4ff, transparent); }
.bs-sub { font-size: 15px; color: #7ea6c8; }

.bs-grid { display: grid; grid-template-columns: 1.05fr 2.3fr 1.05fr; gap: 12px; align-items: start; }
.bs-col { display: flex; flex-direction: column; gap: 12px; min-width: 0; }
.bs-panel {
  background: rgba(9, 30, 60, .55);
  border: 1px solid rgba(0, 180, 255, .22);
  border-radius: 8px;
  padding: 12px 14px;
  box-shadow: inset 0 0 24px rgba(0, 120, 255, .06);
  overflow: hidden;
}
.bs-panel-title {
  display: flex; align-items: center; gap: 8px;
  font-size: 15px; font-weight: 700; color: #e8f4ff;
  padding-bottom: 8px; border-bottom: 1px solid rgba(0, 150, 255, .18);
  margin-bottom: 8px;
}
.bs-dot {
  width: 8px; height: 8px; border-radius: 50%;
  background: #00b4ff;
  box-shadow: 0 0 8px rgba(0, 180, 255, .9);
  flex: none;
}
.bs-chart { width: 100%; }

.bs-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.bs-stat {
  background: rgba(9, 30, 60, .55);
  border: 1px solid rgba(0, 180, 255, .22);
  border-radius: 8px;
  padding: 14px 12px;
  display: flex; align-items: center; gap: 10px;
}
.bs-stat-icon {
  width: 38px; height: 38px; border-radius: 9px; flex: none;
  display: flex; align-items: center; justify-content: center;
  color: #fff; font-size: 18px;
  box-shadow: 0 0 12px rgba(0, 180, 255, .35);
}
.bs-stat-num { font-size: 20px; font-weight: 800; color: #fff; line-height: 1.15; font-variant-numeric: tabular-nums; }
.bs-stat-label { font-size: 15px; color: #7ea6c8; margin-top: 2px; }

.bs-live { display: flex; flex-direction: column; }
.bs-live-item {
  display: flex; align-items: center; justify-content: space-between;
  padding: 10px 2px; font-size: 15px; color: #a8c6e8;
  border-bottom: 1px dashed rgba(0, 150, 255, .15);
}
.bs-live-item:last-child { border-bottom: none; }
.bs-live-item b { color: #00e5ff; font-weight: 700; font-variant-numeric: tabular-nums; }
.bs-live-dot {
  width: 7px; height: 7px; border-radius: 50%; flex: none;
  background: #00e0b0; box-shadow: 0 0 6px rgba(0, 224, 176, .8);
  animation: bs-blink 1.6s ease-in-out infinite;
}
@keyframes bs-blink { 0%, 100% { opacity: 1; } 50% { opacity: .25; } }
.bs-live-item { justify-content: flex-start; gap: 10px; }
.bs-live-item b { }

@media (max-width: 1200px) {
  .bs-grid { grid-template-columns: 1fr; }
  .bs-stats { grid-template-columns: repeat(2, 1fr); }
}
.bs-countdown {
  margin-left: 12px;
  padding: 2px 10px;
  border: 1px solid rgba(0, 229, 255, .35);
  border-radius: 999px;
  color: #00e5ff;
  font-size: 15px;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}

/* 实时订单滚动（从下往上无缝滚动） */
.bs-orders { height: 132px; overflow: hidden; position: relative; }
.bs-orders-track {
  position: absolute; left: 0; right: 0; top: 0;
  animation: bs-order-scroll 14s linear infinite;
}

@keyframes bs-order-scroll {
  0% { transform: translateY(0); }
  100% { transform: translateY(-50%); }
}
.bs-order {
  display: flex; align-items: center; gap: 10px;
  padding: 7px 2px;
  border-bottom: 1px dashed rgba(0, 150, 255, .15);
  font-size: 15px; color: #a8c6e8;
}
.bs-order-time { color: #7ea6c8; width: 88px; flex: none; font-variant-numeric: tabular-nums; }
.bs-order-name { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bs-order-mch { color: #7ea6c8; flex: none; }
.bs-order-money { color: #00e5ff; font-weight: 700; flex: none; font-variant-numeric: tabular-nums; }
.bs-orders-empty { height: 132px; display: flex; align-items: center; justify-content: center; color: #7ea6c8; font-size: 15px; }

/* 各列面板均分高度，底部与左侧对齐 */
.bs-grid { align-items: stretch; }
.bs-col > .bs-panel { flex: 1; min-height: 0; }
.bs-fs-btn {
  margin-left: 10px;
  padding: 2px 12px;
  border: 1px solid rgba(0, 229, 255, .35);
  border-radius: 999px;
  color: #00e5ff;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
  display: inline-flex; align-items: center; gap: 4px;
  transition: all .15s;
}
.bs-fs-btn:hover { background: rgba(0, 229, 255, .12); }

/* 实时订单表头 + 五列铺满 */
.bs-order-head {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(0, 0.7fr) minmax(0, 0.8fr) minmax(0, 0.8fr) minmax(0, 1fr);
  width: 100%;
  padding: 5px 2px 7px;
  font-size: 15px; color: #5f86b3;
  border-bottom: 1px solid rgba(0, 150, 255, .25);
}
.bs-order-head span { text-align: center; }
.bs-order {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(0, 0.7fr) minmax(0, 0.8fr) minmax(0, 0.8fr) minmax(0, 1fr);
  gap: 0;
  width: 100%; align-items: center;
  height: 33px;
  padding: 0 2px;
  border-bottom: 1px dashed rgba(0, 150, 255, .15);
  font-size: 15px; color: #a8c6e8;
}
.bs-order-cell {
  min-width: 0; text-align: center;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.bs-order-cell.money { color: #00e5ff; font-weight: 700; font-variant-numeric: tabular-nums; }
.bs-order-cell.time { color: #7ea6c8; font-variant-numeric: tabular-nums; }
.bs-order-cell.paid { color: #00e0b0; font-weight: 600; }
.bs-order-cell.gray { color: #7ea6c8; }
.bs-order-cell.other { color: #ffb64d; }
.bs-panel-orders { display: flex; flex-direction: column; }
.bs-panel-orders .bs-orders { flex: 1; height: auto; min-height: 132px; }

/* ============ 订单管理页 ============ */
.ord-filters { display: flex; flex-direction: column; gap: 10px; margin-bottom: 14px; background: #fff; border: 1px solid var(--pc-border); border-radius: 8px; padding: 12px 14px; box-shadow: var(--pc-shadow); }
.ord-filter-row { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.ord-label { font-size: 15px; color: var(--pc-text-2); white-space: nowrap; margin-right: -2px; width: 62px; display: inline-block; }
.ord-toolbar { display: flex; align-items: center; gap: 8px; margin-bottom: 12px; flex-wrap: wrap; }
.ord-btn { border-radius: 6px; font-size: 15px; padding: 7px 12px; }
.ord-btn-del { background: #fdecea; border: 1px solid #f5c6c0; color: #f56c6c; }
.ord-btn-del:hover:not(.is-disabled) { background: #fbdcd8; color: #e04b4b; border-color: #e8a69e; }
.ord-btn-fill { background: #eaf1fe; border: 1px solid #bcd3f5; color: #547bff; }
.ord-btn-fill:hover:not(.is-disabled) { background: #dce9fd; color: #4359cc; border-color: #9cbcf0; }
.ord-two { font-size: 15px; color: var(--pc-text); white-space: nowrap; }
.ord-two-sub { color: var(--pc-text-3); font-size: 15px; margin-top: 2px; }
.ord-link { color: #547bff; text-decoration: none; cursor: pointer; }
.ord-link:hover { opacity: .8; }
.ord-link-sm { font-size: 15px; }
.ord-money { color: #547bff; font-weight: 600; }
.ord-tag {
  display: inline-block; padding: 2px 10px; border-radius: 6px;
  background: #f0f2f5; color: var(--pc-text-2); font-size: 15px; white-space: nowrap;
  border: 1px solid transparent;
}
.ord-channel { display: flex; align-items: center; gap: 8px; }
.ord-dot { width: 8px; height: 8px; border-radius: 50%; flex: none; }
.ord-title { font-size: 17px; font-weight: 700; color: var(--pc-text); margin-bottom: 14px; }

/* 操作下拉按钮 */
.ord-op-btn {
  background: #fff; border: 1px solid #d9d9d9; border-radius: 6px;
  color: var(--pc-text-2); padding: 4px 10px; font-size: 15px;
}
.ord-op-btn:hover { border-color: #547bff; color: #547bff; }
.ord-op-btn .el-icon { margin-left: 4px; font-size: 15px; }
.el-dropdown-menu__item .el-icon { margin-right: 6px; color: #8b96a8; }
.ord-time { font-size: 15px; color: var(--pc-text-2); white-space: nowrap; line-height: 1.7; font-variant-numeric: tabular-nums; }
.ord-tag-ok { background: #F0F9EB; border-color: #E1F3D8; color: #67C23A; }
.ord-tag-wait { background: #EEF3FF; border-color: #DEE7FF; color: #547bff; }
.ord-tag-gray { background: #F4F4F5; border-color: #E9E9EB; color: #909399; }
.ord-pay { color: #f56c6c; font-weight: 600; }
.ord-share { color: #49B842; font-weight: 600; }
.ord-name { max-width: 100%; overflow: hidden; text-overflow: ellipsis; }
.ord-gold { color: #e6a23c; font-weight: 600; }
.ord-c { text-align: center; }
.pc-card .el-table th .cell { white-space: nowrap; }
.ord-tag { max-width: none; overflow: visible; }
.ord-filter-actions { margin-left: auto; display: flex; align-items: center; gap: 8px; padding-left: 24px; }
.ord-filter-actions .el-button { margin-left: 0; }
.pc-total-line { color: rgba(0, 0, 0, .75); font-size: 15px; white-space: nowrap; margin-right: 4px; }
/* 操作列按钮一排显示（不换行） */
.ord-op-col .cell { white-space: nowrap; }
.ord-op-col .el-button { margin-left: 0 !important; padding: 5px 8px; }
.ord-op-col .el-button + .el-button { margin-left: 6px !important; }
/* 支付方式名称前的图标（与参考站一致 18x14 纵向居中） */
.type-logo { display: inline-block; width: 16px; height: 16px; object-fit: contain; vertical-align: middle; margin-right: 5px; }
/* 支付方式页 1:1 参考站（el-card 无阴影 4px 圆角 + 表格白表头/14px/斑马纹边框） */
.pc-paytype .el-card { border: 1px solid #e4e7ed; border-radius: 4px; box-shadow: none; }
.pc-paytype .el-card__header { padding: 18px 20px; border-bottom: 1px solid #e4e7ed; }
.pc-paytype .el-card__body { padding: 20px; }
.pc-paytype-head { display: flex; align-items: center; justify-content: space-between; }
.pc-paytype-total { font-size: 16px; color: rgba(0, 0, 0, .75); }
.pc-paytype .el-table { font-size: 15px; }
.pc-paytype .el-table th.el-table__cell { background: #fff; color: #909399; font-weight: 600; font-size: 15px; border-bottom: 1px solid #ebeff5; }
.pc-paytype .el-table td.el-table__cell { font-size: 15px; color: #767b86; border-bottom: 1px solid #ebeff5; }
.pc-paytype .el-table--border .el-table__inner-wrapper::after,
.pc-paytype .el-table--border::after,
.pc-paytype .el-table--border::before,
.pc-paytype .el-table__inner-wrapper::before { background-color: #ebeff5; }
.pc-paytype .el-table .cell { line-height: 1.4; }
/* 参考站按钮原色（覆盖本机品牌调色板）：绿 #67c23a 橙 #e6a23c 红 #f56c6c 默认字 #767b86 */
.pc-paytype .el-button--success { --el-button-bg-color: #67c23a; --el-button-border-color: #67c23a; --el-button-hover-bg-color: #85ce61; --el-button-hover-border-color: #85ce61; --el-button-active-bg-color: #5daf34; --el-button-active-border-color: #5daf34; }
.pc-paytype .el-button--warning { --el-button-bg-color: #e6a23c; --el-button-border-color: #e6a23c; --el-button-hover-bg-color: #ebb563; --el-button-hover-border-color: #ebb563; --el-button-active-bg-color: #cf9236; --el-button-active-border-color: #cf9236; }
.pc-paytype .el-button--danger { --el-button-bg-color: #f56c6c; --el-button-border-color: #f56c6c; --el-button-hover-bg-color: #f78989; --el-button-hover-border-color: #f78989; --el-button-active-bg-color: #dd6161; --el-button-active-border-color: #dd6161; }
.pc-paytype .el-table .el-button--small:not(.el-button--danger):not(.el-button--success):not(.el-button--warning):not(.el-button--primary) {
  background: #fff; border-color: #dcdfe6; color: #767b86; padding: 5px 11px;
}
.pc-paytype .el-table .el-button--small { padding: 5px 11px; }
/* 弹窗保存按钮 = 参考站主色 #5d87ff 白字 */
.pc-paytype-save {
  --el-button-bg-color: #5d87ff; --el-button-border-color: #5d87ff;
  --el-button-hover-bg-color: #7a9cff; --el-button-hover-border-color: #7a9cff;
  --el-button-active-bg-color: #4a6fe6; --el-button-active-border-color: #4a6fe6;
  background: var(--el-button-bg-color); border-color: var(--el-button-border-color); color: #fff; font-size: 15px;
}
.pc-paytype-save:hover { background: var(--el-button-hover-bg-color); border-color: var(--el-button-hover-border-color); color: #fff; }
/* 支付通道页 1:1 参考站：搜索栏卡片 + 表格卡片 + 居中分页 + 原色按钮 */
.pc-paychan-bar {
  background: #fff; border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 8px;
  padding: 15px 20px 5px; margin-bottom: 14px;
}
.pc-paychan-row { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; }
.pc-paychan-col { display: flex; align-items: center; flex: 1 1 200px; min-width: 200px; margin-bottom: 10px; }
.pc-paychan-col label { width: 70px; flex: none; font-size: 15px; color: #949eb7; }
.pc-paychan-col .el-input, .pc-paychan-col .el-select { flex: 1; }
.pc-paychan-btns { margin-left: auto; display: flex; align-items: center; gap: 8px; margin-bottom: 10px; white-space: nowrap; }
.pc-paychan-btns .el-button { margin-left: 0; padding: 8px 15px; }
.pc-paychan-toggle { color: #5d87ff; cursor: pointer; font-size: 15px; white-space: nowrap; }
.pc-paychan-toggle:hover { opacity: .8; }
.pc-paychan-toggle-arrow { margin-left: 2px; font-size: 15px; }
.pc-paychan-row2 { padding: 0 0 12px; }
.pc-paychan-card { background: #fff; border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 8px; box-shadow: none; padding: 20px; margin-bottom: 14px; }
.pc-paychan-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 14px; }
.pc-paychan-top-left { display: flex; align-items: center; gap: 8px; }
.pc-paychan-top-left .el-button { margin-left: 0; padding: 8px 15px; }
.pc-paychan-link { color: #5d87ff; cursor: pointer; }
.pc-paychan-link:hover { text-decoration: underline; }
.pc-paychan .el-table { font-size: 15px; }
.pc-paychan-card .el-table th.el-table__cell { background: #fff; color: #909399; font-weight: 600; font-size: 15px; border-bottom: 1px solid #ebeff5; }
.pc-paychan-card .el-table td.el-table__cell { font-size: 15px; color: #767b86; border-bottom: 1px solid #ebeff5; }
.pc-paychan-card .el-table--border .el-table__inner-wrapper::after,
.pc-paychan-card .el-table--border::after,
.pc-paychan-card .el-table--border::before,
.pc-paychan-card .el-table__inner-wrapper::before { background-color: #ebeff5; }
.pc-paychan-pager { display: flex; justify-content: center; align-items: center; gap: 12px; margin-top: 13px; }
.pc-paychan-total { font-size: 15px; color: #767b86; }
/* 原色按钮（同支付方式页规范） */
.pc-paychan .el-button--success { --el-button-bg-color: #67c23a; --el-button-border-color: #67c23a; --el-button-hover-bg-color: #85ce61; --el-button-hover-border-color: #85ce61; --el-button-active-bg-color: #5daf34; --el-button-active-border-color: #5daf34; }
.pc-paychan .el-button--warning { --el-button-bg-color: #e6a23c; --el-button-border-color: #e6a23c; --el-button-hover-bg-color: #ebb563; --el-button-hover-border-color: #ebb563; --el-button-active-bg-color: #cf9236; --el-button-active-border-color: #cf9236; }
.pc-paychan .el-button--danger { --el-button-bg-color: #f56c6c; --el-button-border-color: #f56c6c; --el-button-hover-bg-color: #f78989; --el-button-hover-border-color: #f78989; --el-button-active-bg-color: #dd6161; --el-button-active-border-color: #dd6161; }
.pc-paychan-primary {
  --el-button-bg-color: #5d87ff; --el-button-border-color: #5d87ff;
  --el-button-hover-bg-color: #7a9cff; --el-button-hover-border-color: #7a9cff;
  --el-button-active-bg-color: #4a6fe6; --el-button-active-border-color: #4a6fe6;
  background: var(--el-button-bg-color); border-color: var(--el-button-border-color); color: #fff;
}
.pc-paychan-primary:hover { background: var(--el-button-hover-bg-color); border-color: var(--el-button-hover-border-color); color: #fff; }
.pc-paychan-card .el-table .el-button--small:not(.el-button--danger):not(.el-button--success):not(.el-button--warning):not(.el-button--primary) {
  background: #fff; border-color: #dcdfe6; color: #767b86; padding: 5px 11px;
}
.pc-paychan-card .el-table .el-button--small { padding: 5px 11px; }
.pc-paychan .el-button--default:not(.el-button--small) { color: #767b86; border-color: #dcdfe6; background: #fff; }
/* 支付方式页（paypro 支付编码 1:1）：Arco 卡片风格 */
.pc-paycode-card { background: #fafcff; border-radius: 18px; border: none; box-shadow: none; overflow: hidden; }
.pc-paycode-header { padding: 16px 24px 0; font-size: 18px; font-weight: 500; color: #1d2129; }
.pc-paycode-body { padding: 20px 24px 24px; }
.pc-paycode-add {
  background: #165dff; border-color: #165dff; color: #fff; font-size: 15px;
  padding: 8px 15px; border-radius: 4px; margin-bottom: 16px;
}
.pc-paycode-add:hover { background: #4080ff; border-color: #4080ff; color: #fff; }
.pc-paycode .el-table { font-size: 15px; }
.pc-paycode .el-table th.el-table__cell {
  background: #f2f3f5; color: #1d2129; font-size: 15px; font-weight: 500;
  height: 40px; padding: 0; border-bottom: none;
}
.pc-paycode .el-table td.el-table__cell {
  font-size: 15px; color: #4e5969; padding: 0; height: 59px; border-bottom: none;
}
.pc-paycode .el-table::before { display: none; }
.pc-paycode .el-table__inner-wrapper::before { display: none; }
.pc-paycode-icon { width: 40px; height: 40px; object-fit: contain; display: block; }
.pc-paycode-op {
  background: transparent; border: none; color: #165dff; font-size: 15px;
  padding: 0 15px; margin: 0;
}
.pc-paycode-op:hover { background: rgba(22, 93, 255, 0.08); color: #165dff; }
.pc-paycode-op-danger { color: #f53f3f; }
.pc-paycode-op-danger:hover { background: rgba(245, 63, 63, 0.08); color: #f53f3f; }
.pc-paycode-pager { display: flex; justify-content: flex-end; margin-top: 12px; }
.pc-paycode-primary {
  background: #165dff; border-color: #165dff; color: #fff;
  --el-button-hover-bg-color: #4080ff; --el-button-hover-border-color: #4080ff;
  --el-button-active-bg-color: #0e4fd4; --el-button-active-border-color: #0e4fd4;
}
.pc-paycode-primary:hover { background: #4080ff; border-color: #4080ff; color: #fff; }
.pc-paycode-upload-img { width: 80px; height: 80px; object-fit: contain; border: 1px dashed #c9cdd4; border-radius: 4px; display: block; }
.pc-paycode-upload-box {
  width: 80px; height: 80px; border: 1px dashed #c9cdd4; border-radius: 4px;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  color: #86909c; font-size: 15px; gap: 4px;
}
.pc-paycode-upload-actions { display: flex; margin-top: 8px; }
.pc-paycode-upload-actions .pc-paycode-op { padding: 0 10px; }
/* 交易投诉 3 页 */
.pc-cmp-sub { font-size: 15px; color: #909399; }
.pc-cmp-money { font-size: 15px; color: #f97316; }
.pc-cmp-trunc { max-width: 220px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pc-cmp-pager { display: flex; align-items: center; justify-content: space-between; margin-top: 13px; }
.pc-cmp-desc { margin-bottom: 4px; }
.pc-cmp-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-bottom: 14px; }
.pc-cmp-card { background: #fff; border: 1px solid #e4e7ed; border-radius: 4px; box-shadow: none; }
.pc-cmp-card-title { padding: 14px 20px; border-bottom: 1px solid #ebeef5; font-weight: 700; font-size: 15px; color: rgba(0, 0, 0, .75); }
.pc-cmp-card-body { padding: 20px; }
.pc-cmp-desc-row { display: flex; align-items: center; padding: 6px 0; border-bottom: 1px solid #ebeef5; }
.pc-cmp-desc-row:last-child { border-bottom: none; }
.pc-cmp-desc-label { flex: 1; font-size: 15px; color: #767b86; }
.pc-cmp-desc-val { font-size: 18px; font-weight: 700; color: rgba(0, 0, 0, .75); }
.pc-cmp-desc-val.red { color: #ef4444; }
.pc-cmp-table-title { font-weight: 700; font-size: 15px; color: rgba(0, 0, 0, .75); padding: 2px 0 14px; }
.pc-cmp-alert { margin-bottom: 14px; border-radius: 6px; }
.pc-cmp-alert .el-alert__title { font-weight: 700; }
/* 应用管理 4 页 */
.pc-app-plain-btn { background: #4080ff; border-color: #4080ff; color: #fff; }
.pc-app-plain-btn:hover { background: #3373e6; border-color: #3373e6; color: #fff; }
.pc-app-chips { display: flex; flex-wrap: wrap; gap: 8px; padding: 4px 0 12px; }
.pc-app-chip { font-size: 15px; color: #767b86; background: #f2f3f5; border-radius: 999px; padding: 5px 14px; cursor: pointer; }
.pc-app-chip.active { background: #eef3ff; color: #5d87ff; font-weight: 600; }
.pc-app-chip:hover { opacity: .85; }
.pc-app-tip { font-size: 15px; color: #909399; padding-top: 12px; border-top: 1px dashed #ebeef5; margin-top: 12px; }
/* 应用市场 */
.pc-app-account { display: flex; align-items: center; justify-content: space-between; background: #fff; border: 1px solid #e4e7ed; border-radius: 4px; padding: 14px 20px; margin-bottom: 14px; }
.pc-app-account-grid { display: flex; flex-wrap: wrap; gap: 12px 32px; }
.pc-app-account-item { display: flex; flex-direction: column; gap: 2px; }
.pc-app-account-label { font-size: 15px; color: #909399; }
.pc-app-account-value { font-size: 15px; font-weight: 600; color: rgba(0, 0, 0, .75); }
.pc-app-account-btns { display: flex; gap: 6px; }
.pc-app-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 14px; }
.pc-app-item { border: 1px solid #ebeef5; border-radius: 8px; padding: 14px 16px; display: flex; flex-direction: column; gap: 8px; }
.pc-app-item:hover { border-color: #5d87ff; }
.pc-app-item-head { display: flex; align-items: center; gap: 10px; }
.pc-app-icon { width: 34px; height: 34px; object-fit: contain; }
.pc-app-item-title { font-size: 15px; font-weight: 600; color: rgba(0, 0, 0, .75); }
.pc-app-item-ident { font-size: 15px; color: #909399; }
.pc-app-item-desc { font-size: 15px; color: #767b86; line-height: 1.6; min-height: 42px; }
.pc-app-item-meta { display: flex; align-items: center; gap: 12px; font-size: 15px; }
.pc-app-price { color: #f97316; font-weight: 600; }
.pc-app-author { color: #909399; }
.pc-app-ver { color: #909399; }
.pc-app-item-foot { display: flex; gap: 8px; }
/* 模板配置 */
.pc-app-tabs { padding: 0 20px; }
.pc-app-tabs .el-tabs__item { font-size: 15px; height: 40px; }
.pc-app-tpl-current { display: flex; align-items: center; gap: 8px; padding: 0 20px 14px; font-size: 15px; color: #767b86; }
.pc-app-tpl-current b { color: rgba(0, 0, 0, .75); }
.pc-app-tpl-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 14px; padding: 0 20px 20px; }
.pc-app-tpl-item { border: 1px solid #ebeef5; border-radius: 8px; overflow: hidden; }
.pc-app-tpl-preview { height: 130px; display: flex; align-items: center; justify-content: center; color: #fff; font-size: 16px; font-weight: 600; letter-spacing: 1px; }
.pc-app-tpl-title { font-size: 15px; font-weight: 600; color: rgba(0, 0, 0, .75); padding: 12px 14px 4px; }
.pc-app-tpl-meta { font-size: 15px; color: #909399; line-height: 1.8; padding: 0 14px 10px; }
.pc-app-tpl-foot { padding: 0 14px 14px; display: flex; }
/* 扩展配置 */
.pc-app-addon-sec { font-size: 15px; font-weight: 700; color: rgba(0, 0, 0, .75); padding: 14px 0 10px; border-bottom: 1px solid #ebeef5; }
.pc-app-addon-count { color: #909399; font-weight: 400; }
.pc-app-addon-item { display: flex; align-items: flex-start; gap: 14px; padding: 16px 0; border-bottom: 1px dashed #ebeef5; }
.pc-app-addon-icon { width: 40px; height: 40px; object-fit: contain; margin-top: 2px; }
.pc-app-addon-main { flex: 1; min-width: 0; }
.pc-app-addon-title { font-size: 15px; font-weight: 600; color: rgba(0, 0, 0, .75); }
.pc-app-addon-ident { color: #909399; font-weight: 400; font-size: 15px; }
.pc-app-addon-desc { font-size: 15px; color: #767b86; line-height: 1.7; margin-top: 4px; }
.pc-app-addon-meta { font-size: 15px; color: #909399; margin-top: 4px; }
.pc-app-addon-btns { display: flex; gap: 6px; }
.pc-app-addon-empty { padding: 14px 0; font-size: 15px; color: #909399; }
.ord-toggle { color: #547bff; cursor: pointer; font-size: 15px; white-space: nowrap; }
.ord-toggle:hover { opacity: .8; }
.ord-toggle-arrow { margin-left: 2px; font-size: 15px; }
.ord-filter-sub { display: flex; flex-direction: column; gap: 10px; }
.ord-filters .el-date-editor--daterange { width: 230px !important; flex-grow: 0 !important; flex-shrink: 0; }

.ord-filters .el-date-editor--daterange .el-range-input { width: 60px; font-size: 15px; }
.ord-filters .el-date-editor--daterange .el-range-separator { padding: 0 2px; width: 20px; }
.ord-filters .el-date-editor--daterange .el-input__inner { padding: 0 2px; }
.ord-filters .el-date-editor--daterange .el-range__icon { margin-left: 0; }
.ord-filters .el-date-editor--daterange .el-range__close-icon { display: none; }
.ord-tag { white-space: nowrap !important; }
.ord-box { background: #fff; border: 1px solid var(--pc-border); border-radius: 8px; padding: 10px 14px; box-shadow: var(--pc-shadow); margin-bottom: 14px; }
.ord-box .ord-toolbar { margin-bottom: 0; }

/* 表格卡片（参考站布局） */
.ord-table-card { padding: 14px 16px; margin-bottom: 14px; }
.ord-table-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px; }
.ord-total { font-size: 15px; color: #767b86; }
.ord-col-btn { font-size: 15px; padding: 5px 10px; border-radius: 6px; }
.ord-col-btn .el-icon { margin-right: 3px; }
.ord-col-pop { padding: 0 !important; }
.ord-col-pop .el-dropdown-menu { padding: 0; }
.ord-col-panel { background: #fff; width: 340px; padding: 14px 16px; border-radius: 8px; }
.ord-col-title { font-size: 15px; color: #909399; margin-bottom: 8px; }
.ord-col-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 12px; font-size: 15px; }
/* 表头/正文（参考站） */
.ord-table-card .el-table th.el-table__cell { background: #fff; color: #909399; font-size: 15px; font-weight: 600; }
.ord-table-card .el-table td.el-table__cell { font-size: 15px; color: #767b86; }
.ord-table-card.ord-header-bg .el-table th.el-table__cell { background: #f5f7fa; }
.ord-table-card.ord-zebra .el-table__body tr.el-table__row:nth-child(even) td.el-table__cell { background: #fafafa; }

/* 统计概况弹窗（参考站样式） */
.ord-stats { padding: 10px 0; }
.ord-stat-sec { font-size: 15px; font-weight: 700; color: rgba(0, 0, 0, .75); margin-bottom: 12px; }
.ord-stat-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; margin-bottom: 16px; }
.ord-stat-grid:last-child { margin-bottom: 0; }
.ord-stat-card { display: flex; align-items: center; gap: 10px; padding: 12px 14px; border-radius: 8px; height: 70px; box-sizing: border-box; }
.ord-stat-icon { width: 34px; height: 34px; border-radius: 8px; display: flex; align-items: center; justify-content: center; color: #fff; font-size: 18px; flex: none; }
.ord-stat-label { font-size: 15px; color: #909399; }
.ord-stat-value { font-size: 16px; font-weight: 700; color: rgba(0, 0, 0, .75); margin-top: 2px; }
.ord-view-all { width: 100%; margin-top: 12px; }

/* 底部分页栏：共N条 + 分页 同排平铺 */
.ord-pager-flat { justify-content: space-between; align-items: center; }

/* 退款状态标签（参考站：纯色字+边框，透明底） */
.ord-table-card .el-tag--success { background: transparent; border-color: #67C23A; color: #67C23A; }
.ord-table-card .el-tag--warning { background: transparent; border-color: #E6A23C; color: #E6A23C; }
.ord-table-card .el-tag--danger { background: transparent; border-color: #F56C6C; color: #F56C6C; }

/* ==================== 系统设置标签页 ==================== */
.st-set-card { padding: 18px 22px; }
.st-set-form { max-width: 860px; }
.st-set-sec { font-size: 15px; font-weight: 700; color: rgba(0, 0, 0, .75); margin: 4px 0 14px; padding-left: 10px; border-left: 3px solid #547bff; }
.st-set-form .el-form-item { margin-bottom: 16px; }
.st-set-hint { font-size: 15px; color: #909399; line-height: 1.6; margin-top: 2px; }
.st-set-note { background: #f7f9fc; border: 1px solid #eef1f6; border-radius: 8px; padding: 12px 14px; margin: 8px 0 16px; }
.st-set-chans { max-width: 720px; margin-top: 6px; }
.st-set-chans .el-table { width: 100%; }

.st-set-upload { display: flex; align-items: center; }
.st-set-freq { display: flex; flex-wrap: wrap; gap: 0 28px; }
.st-runtime-content { font-size: 15px; color: var(--pc-text-2); word-break: break-all; line-height: 1.7; }
.st-clean-card { max-width: none; }
.st-clean-card .el-table .cell { white-space: nowrap; }
.st-clean-box { border: 1px solid var(--pc-border); border-radius: 8px; padding: 14px 18px; margin-bottom: 14px; }
.st-clean-box:last-of-type { margin-bottom: 0; }
.st-clean-box .st-clean-sec { margin-top: 0; margin-bottom: 12px; }
.st-clean-quick { display: flex; flex-wrap: wrap; gap: 10px; justify-content: flex-start; }
.st-clean-grid { display: grid; grid-template-columns: 1fr; gap: 10px 28px; }
.st-clean-custom { display: flex; align-items: center; justify-content: flex-start; }
.st-clean-custom:last-child { margin-bottom: 0; }
.st-clean-schedule { display: flex; align-items: center; margin-top: 14px; padding-top: 12px; border-top: 1px dashed #e5e7eb; }
.st-clean-sec { font-size: 15px; font-weight: 700; color: rgba(0, 0, 0, .75); margin: 16px 0 10px; }
.st-clean-quick { display: flex; flex-wrap: wrap; gap: 10px; }
.st-clean-custom { display: flex; align-items: center; margin-bottom: 12px; }
.st-clean-label { font-size: 15px; color: var(--pc-text); margin: 0 8px 0 0; }


/* 系统更新 / 授权验证（对齐官网系统） */
.st-lic-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 14px; }
.st-lic-title { font-size: 16px; font-weight: 700; color: rgba(0, 0, 0, .75); }
.st-lic-sub { font-size: 15px; color: #909399; margin-bottom: 8px; }
.st-lic-ver-row { display: flex; align-items: center; gap: 10px; margin-bottom: 14px; }
.st-lic-ver-label { font-size: 15px; color: #767b86; }
.st-lic-ver-badge { display: inline-block; background: var(--pc-primary-light); color: var(--pc-primary); border-radius: 6px; padding: 3px 14px; font-size: 15px; font-weight: 700; }
.st-lic-tip { display: flex; align-items: center; gap: 10px; border-radius: 8px; padding: 12px 16px; }
.st-lic-tip.ok { background: #F0F9EB; border: 1px solid #E1F3D8; }
.st-lic-tip.warn { background: #FDF6EC; border: 1px solid #FAECD8; }
.st-lic-tip-ico { width: 22px; height: 22px; border-radius: 50%; background: #67C23A; color: #fff; display: flex; align-items: center; justify-content: center; font-size: 15px; flex: none; }
.st-lic-tip.warn .st-lic-tip-ico { background: #E6A23C; }
.st-lic-tip-body { flex: 1; display: flex; flex-direction: column; }
.st-lic-tip-body b { font-size: 15px; color: rgba(0, 0, 0, .75); }
.st-lic-tip-body span { font-size: 15px; color: #909399; }
.st-lic-form-row { display: flex; align-items: center; gap: 10px; margin-bottom: 6px; }
.st-lic-label { font-size: 15px; color: #767b86; flex: none; }
.st-lic-readonly .el-input__wrapper { background: #f5f6fa; box-shadow: 0 0 0 1px #e5e6eb inset; }
.st-lic-table { width: 100%; max-width: 720px; border-collapse: collapse; margin-top: 6px; }
.st-lic-table td { border: 1px solid #eef0f4; padding: 10px 14px; font-size: 15px; color: #767b86; }
.st-lic-th { background: #f7f9fc; color: #909399; width: 140px; }
.st-lic-status { display: inline-block; padding: 2px 12px; border-radius: 6px; font-size: 15px; background: #f4f4f5; color: #909399; }
.st-lic-status.ok { background: #F0F9EB; color: #67C23A; }
.st-lic-status.off { background: #FEF0F0; color: #F56C6C; }
.st-lic-timeline { min-height: 60px; }
.st-lic-empty { font-size: 15px; color: #909399; padding: 16px 0; text-align: center; }
.st-lic-pager { display: flex; align-items: center; justify-content: center; gap: 12px; margin-top: 12px; }
.st-totp-links a { color: var(--pc-primary); text-decoration: none; }
.st-totp-links a:hover { text-decoration: underline; }
.st-lic-page { font-size: 15px; color: #767b86; }

/* 公告配置（参考站） */
.st-anounce-editor-wrap { width: 100%; max-width: 920px; border: 1px solid var(--pc-border); border-radius: 6px; overflow: hidden; }
.st-anounce-editor-wrap #anounceToolbar { border-bottom: 1px solid #e5e7eb; }
.st-anounce-title { font-size: 15px; font-weight: 700; color: rgba(0, 0, 0, .75); margin-bottom: 14px; }
.st-anounce-add-form { display: flex; flex-direction: column; gap: 12px; }
.st-anounce-add-line { display: flex; align-items: center; }
.st-anounce-item { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding: 14px 0; border-bottom: 1px solid #f2f3f5; }
.st-anounce-item:last-child { border-bottom: none; }
.st-anounce-body { flex: 1; min-width: 0; }
.st-anounce-content { font-size: 15px; color: var(--pc-text); line-height: 1.7; word-break: break-all; }
.st-anounce-time { font-size: 15px; color: var(--pc-text-3); margin-top: 6px; }
.st-anounce-actions { flex: none; display: flex; gap: 8px; }

/* 输入框全部对齐：标题固定列宽，左侧不对齐无妨 */
.st-set-form .el-form-item__label { width: 200px; justify-content: flex-start; }
/* 切换器标题字号与左侧菜单一致 */
.st-set-form .el-radio-button__inner { font-size: 15px; }
.st-chan-dlg .el-form-item__label { width: 160px; }
.st-set-chans .el-table .cell { white-space: nowrap; }
.st-set-chans .el-table th.el-table__cell, .st-set-chans .el-table td.el-table__cell { font-size: 15px; }
.st-set-chans .el-table .el-button { font-size: 15px; }
.st-set-chans .el-radio-button__inner { font-size: 15px; }
.st-set-freq .el-form-item__label, .st-set-chans .el-form-item__label { font-size: 15px; }
.st-set-freq .el-input__inner { font-size: 15px; }
.st-set-logo-preview { height: 34px; margin-left: 10px; border: 1px solid #e5e7eb; border-radius: 4px; }

/* 退款记录表：列整体右对齐（表头+正文，勾选列除外，由列 align 属性控制） */

/* 退款统计弹窗（参考站） */
.rfd-bold { font-weight: 700; }
.rfd-red { color: #F56C6C; }
.rfd-green { color: #67C23A; }
.rfd-orange { color: #E6A23C; }

.ord-stat-card.blue { background: #ECF5FF; } .ord-stat-card.blue .ord-stat-icon { background: #409EFF; }

/* ==================== 数据统计 5 页 ==================== */
.st-card { padding: 14px 16px; }
.st-pill-row { display: flex; flex-direction: row; align-items: center; gap: 8px; flex-wrap: nowrap; padding: 12px 14px; }
.st-pill-row .el-radio-group { flex: none; white-space: nowrap; }
.st-pill-row .el-radio-button__inner { white-space: nowrap; font-size: 15px; }
.st-province-layout { display: flex; gap: 14px; align-items: flex-start; }
.st-map-card { flex: 1; padding: 14px 16px; position: relative; }
.st-map-empty { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; color: #909399; font-size: 15px; }
.st-province-side { width: 300px; flex: none; display: flex; flex-direction: column; gap: 14px; }
.st-total-card { padding: 20px; text-align: center; }
.st-total-label { font-size: 15px; color: #909399; }
.st-total-money { font-size: 26px; font-weight: 700; color: rgba(0, 0, 0, .75); margin: 8px 0 4px; }
.st-total-sub { font-size: 15px; color: #909399; }
.st-top-card { padding: 14px 16px; }
.st-top-item { display: flex; align-items: center; gap: 8px; padding: 7px 0; border-bottom: 1px solid #f2f3f5; font-size: 15px; }
.st-top-item:last-child { border-bottom: none; }
.st-top-rank { width: 20px; height: 20px; border-radius: 50%; background: #eef1f6; color: #909399; display: flex; align-items: center; justify-content: center; font-size: 15px; flex: none; }
.st-top-hot { background: #547bff; color: #fff; }
.st-top-name { flex: 1; color: rgba(0, 0, 0, .75); }
.st-top-money { color: #f56c6c; font-weight: 600; }
.st-top-count { color: #909399; }

.ord-stat-card.blue { background: #ECF5FF; } .ord-stat-card.blue .ord-stat-icon { background: #409EFF; }
.ord-stat-card.green { background: #F0F9EB; } .ord-stat-card.green .ord-stat-icon { background: #67C23A; }
.ord-stat-card.orange { background: #FDF6EC; } .ord-stat-card.orange .ord-stat-icon { background: #E6A23C; }
.ord-stat-card.red { background: #FEF0F0; } .ord-stat-card.red .ord-stat-icon { background: #F56C6C; }
.ord-stat-card.purple { background: #F5F0FA; } .ord-stat-card.purple .ord-stat-icon { background: #9C27B0; }
.ord-stat-card.cyan { background: #F0FAFF; } .ord-stat-card.cyan .ord-stat-icon { background: #00BCD4; }

/* ============ 数据统计页：铺满视口、字体与导航一致 ============ */
.ds-page { min-height: calc(100vh - 84px); display: flex; flex-direction: column; }
.ds-page .ord-title { margin-bottom: 14px; }
.ds-page > .pc-card { flex: 1; display: flex; flex-direction: column; }
.ds-page .el-tabs { flex: 1; display: flex; flex-direction: column; }
.ds-page .el-tabs__header { margin-bottom: 14px; }
.ds-page .el-tabs__item { font-size: 15px; }
.ds-page .el-tabs__content { flex: 1; }
.ds-page .el-tab-pane { height: 100%; }
.ds-page .el-tab-pane > div { height: 100%; display: flex; flex-direction: column; }
.ds-page .el-tab-pane > div > .pc-card:last-child { flex: 1; display: flex; flex-direction: column; margin-bottom: 0; }
.ds-page .el-tab-pane > div > .pc-card:last-child .el-table { flex: 1; }

/* 获取用户标识 */
.pc-other-token-head { font-size: 16px; font-weight: 700; color: rgba(0, 0, 0, .75); padding: 16px 20px; border-bottom: 1px solid #ebeef5; }
.pc-other-token-body { max-width: 460px; padding: 16px 20px 24px; }
.pc-other-token-label { font-size: 15px; font-weight: 500; color: rgba(0, 0, 0, .75); margin-bottom: 8px; }
.pc-other-token-hint { font-size: 15px; color: #909399; margin-top: 8px; }
.pc-other-token-link { margin-top: 4px; }

/* 编辑商户弹窗分节 */
.pc-edit-sec { font-size: 15px; font-weight: 600; color: #165dff; margin: 14px 0 8px; }
.pc-edit-hint { font-size: 15px; color: #909399; line-height: 1.7; }

/* 商户列表状态列 */
.pc-mch-status { display: inline-flex; align-items: center; gap: 3px; font-size: 15px; cursor: pointer; }
.pc-mch-status.ok { color: #16a34a; }
.pc-mch-status.bad { color: #f56c6c; }
.pc-mch-status.gray { color: #909399; }
.pc-mch-toggle { font-size: 15px; color: #909399; cursor: pointer; padding: 1px 8px; border: 1px solid #dcdfe6; border-radius: 4px; }
.pc-mch-toggle.on { color: #16a34a; border-color: #b3e19d; background: #f0f9eb; }
.pc-mch-toggle.off { color: #f56c6c; border-color: #fab6b6; background: #fef0f0; }
.pc-mch-toggle:hover { opacity: .85; }

/* ===== 资金明细（复刻桌面1.png）===== */
.pc-rec {
  background: #fff;
  margin: -18px -20px;
  padding: 42px 17px 24px;
  min-height: calc(100vh - 48px - 18px);
}
.pc-rec-filter {
  display: flex;
  align-items: center;
  height: 40px;
}
.pc-rec-filter .el-select__wrapper { min-height: 37px; }
.pc-rec-filter .el-button { height: 37px; margin: 0; }
.pc-rec-filter .el-input__wrapper { min-height: 37px; }
.pc-rec-search {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 15px;
  color: #909399;
  cursor: pointer;
  white-space: nowrap;
  flex-shrink: 0;
}
.pc-rec-label { font-size: 15px; color: rgba(0, 0, 0, .75); margin: 0 61px 0 21px; white-space: nowrap; flex-shrink: 0; }
.pc-rec-a { width: 180px; margin-right: 14px; flex-shrink: 0; }
.pc-rec-b { width: 96px; margin-right: 15px; flex-shrink: 0; }
.pc-rec-filter .el-date-editor.pc-rec-d1 { width: 120px; flex-shrink: 0; }
.pc-rec-filter .el-date-editor.pc-rec-d2 { width: 116px; margin-left: -1px; margin-right: 5px; flex-shrink: 0; }
.pc-rec-c { width: 146px; margin-right: 37px; flex-shrink: 0; }
.pc-rec-refresh { width: 46px; padding: 0; flex-shrink: 0; }
.pc-rec-right { margin-left: 104px; flex: 1; display: flex; align-items: center; justify-content: space-between; min-width: 0; }
.pc-rec-export { width: 78px; flex-shrink: 0; }
.pc-rec-tools {
  display: flex;
  align-items: center;
  gap: 5px;
  height: 37px;
  padding: 0 9px;
  border: 1px solid #dcdfe6;
  border-radius: 4px;
  background: #fff;
  flex-shrink: 0;
}
.pc-rec-tool { display: inline-flex; align-items: center; cursor: pointer; }
.pc-rec-tool:hover { opacity: .7; }
.pc-rec-size { width: 46px; }
.pc-rec-size .el-select__wrapper { box-shadow: none !important; padding: 0 4px; min-height: 0 !important; background: transparent; }

.pc-rec-mch {
  margin-top: 40px;
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 15px;
  color: #767b86;
}
.pc-rec-mch b { color: rgba(0, 0, 0, .75); }
.pc-rec-mch span { cursor: pointer; color: #909399; font-size: 16px; line-height: 1; }
.pc-rec-mch span:hover { color: #f56c6c; }
.pc-rec-mch ~ .pc-rec-table { margin-top: 16px; }

.pc-rec-table {
  margin-top: 40px;
  --el-table-header-bg-color: #f5f7fa;
  --el-table-header-text-color: #909399;
  --el-table-border-color: #ebeef5;
  --el-table-row-hover-bg-color: #f5f7fa;
}
.pc-rec-table th.el-table__cell {
  font-size: 15px;
  font-weight: 600;
  color: #909399;
  height: 40px;
  background: #f5f7fa;
}
.pc-rec-table td.el-table__cell { height: 53px; }
.pc-rec-table .el-table__row--striped td.el-table__cell { background: #fafafa; }
.pc-rec-link { color: #409eff; cursor: pointer; }
.pc-rec-link:hover { opacity: .8; }
.pc-rec-money, .pc-rec-time { color: rgba(0, 0, 0, .75); font-size: 15px; }
.pc-rec-inc { color: #67c23a; font-size: 15px; }
.pc-rec-out { color: #f56c6c; font-size: 15px; }
.pc-rec-tag {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  height: 24px;
  padding: 0 9px;
  border-radius: 4px;
  border: 1px solid;
  font-size: 15px;
  line-height: 1;
  white-space: nowrap;
}
.pc-rec-tag-in { background: #ecf5e7; border-color: #67c23a; color: #67c23a; }
.pc-rec-tag-out { background: #fef0f0; border-color: #f56c6c; color: #f56c6c; }
.pc-rec-pager { display: flex; justify-content: flex-end; margin-top: 14px; }

/* ===== 资金明细筛选栏 v2（组件化 + 自适应换行）===== */
.pc-rec-filter2 {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
}
.pc-rec-filter2 .el-button { margin: 0; display: inline-flex; align-items: center; gap: 5px; }
.pc-rec2-type { width: 170px; flex-shrink: 0; }
.pc-rec2-kw { width: 220px; flex-shrink: 0; }
.pc-rec2-date { width: 268px; flex-shrink: 0; }

/* ===== 用户组设置/用户组购买/邀请码管理（1:1 复刻 xjupay）===== */
.pc-mgroup-card {
  background: #fff;
  border: 1px solid #e4e7ed;
  border-radius: 4px;
  box-shadow: none;
  padding: 20px;
}
.pc-mgroup-btn { border-radius: 6px; }
.pc-mgroup-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16px;
  font-size: 16px;
  color: rgba(0, 0, 0, .75);
}
.pc-mgroup-head b { font-weight: 700; }
.pc-mgroup-ops { display: flex; gap: 8px; }
.pc-mgroup-table th.el-table__cell {
  background: #fff;
  color: #909399;
  font-weight: 600;
  font-size: 15px;
  height: 40px;
}
.pc-mgroup-table td.el-table__cell { height: 41px; }
.pc-mgroup-tip {
  margin-top: 16px;
  background: #f4f4f5;
  border-radius: 6px;
  padding: 8px 16px;
  font-size: 15px;
  color: #909399;
  line-height: 21px;
}
.pc-mgroup-dlg { border-radius: 12px; }
.pc-mgroup-dlg .el-dialog__title { font-size: 16px; color: rgba(0, 0, 0, .75); }
.pc-mgroup-h4 {
  font-size: 15px;
  font-weight: 400;
  color: #2563eb;
  margin: 8px 0;
}
.pc-mgroup-h4-mt { margin-top: 16px; }
.pc-mgroup-dtable th.el-table__cell { font-size: 15px; color: #909399; font-weight: 600; }
.pc-mgroup-dtable td.el-table__cell { font-size: 15px; }
.pc-mgroup-formitem-mt { margin-top: 18px; }

.pc-mgroupbuy-switch, .pc-mgroupbuy-card { margin-bottom: 16px; }
.pc-mgroupbuy-line { display: flex; align-items: center; gap: 12px; font-size: 16px; color: rgba(0, 0, 0, .75); }
.pc-mgroup-card-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 18px 20px;
  margin: -20px -20px 20px;
  border-bottom: 1px solid #ebeef5;
  font-size: 16px;
  color: rgba(0, 0, 0, .75);
}
.pc-mgroup-card-head b { font-weight: 700; }
.pc-mgroupbuy-remark { padding: 5px 8px; }
.pc-mgroupbuy-togglebtn { border-radius: 5px; }

.pc-minv-bar {
  background: #fff;
  border: 1px solid rgba(0, 0, 0, .08);
  border-radius: 8px;
  padding: 15px 20px 0;
}
.pc-minv-row { display: flex; flex-wrap: wrap; justify-content: space-between; }
.pc-minv-item {
  display: flex;
  align-items: center;
  width: 345px;
  margin-bottom: 15px;
  margin-right: 12px;
}
.pc-minv-item label {
  width: 70px;
  padding-right: 12px;
  font-size: 15px;
  color: #767b86;
  text-align: right;
  box-sizing: border-box;
}
.pc-minv-item .el-select, .pc-minv-item .el-input { flex: 1; }
.pc-minv-btns { display: flex; gap: 8px; margin-bottom: 15px; height: 36px; align-items: flex-start; }
.pc-minv-card {
  margin-top: 12px;
  border: 1px solid rgba(0, 0, 0, .08);
  border-radius: 8px;
}
.pc-minv-actions { display: flex; gap: 12px; margin-bottom: 10px; }
.pc-minv-table th.el-table__cell { background: #fff; color: #909399; font-weight: 600; font-size: 15px; height: 40px; }
.pc-minv-table td.el-table__cell { height: 41px; }
.pc-minv-code { font-weight: 700; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
.pc-minv-dash { color: #9ca3af; }
.pc-minv-pager { display: flex; justify-content: flex-end; margin-top: 10px; }

/* 用户组设置弹窗：字体与左侧菜单栏同步（15px） */
.pc-mgroup-dlg { --el-font-size-base: 15px; --el-font-size-small: 15px; }
.pc-mgroup-dlg .el-dialog__title { font-size: 15px; }
.pc-mgroup-dlg .el-tabs__item { font-size: 15px; }
.pc-mgroup-dlg .el-form-item__label { font-size: 15px; }
.pc-mgroup-dlg .el-select__placeholder, .pc-mgroup-dlg .el-select__selected-item { font-size: 15px; }
.pc-mgroup-dlg .pc-mgroup-h4 { font-size: 15px; }
.pc-mgroup-dlg .pc-mgroup-dtable th.el-table__cell, .pc-mgroup-dlg .pc-mgroup-dtable td.el-table__cell { font-size: 15px; }

/* ===== 应用市场云插件 ===== */
.pc-app-icon-fallback {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #165dff;
  color: #fff;
  font-size: 20px;
  font-weight: 600;
  border-radius: 8px;
}
.pc-app-price-free { color: #67c23a; }
.pc-app-empty { padding: 60px 0; text-align: center; color: #909399; font-size: 15px; grid-column: 1 / -1; }

/* ===== 分账管理（1:1 复刻 xjupay）===== */
.pc-profit-bar {
  background: #fff;
  border: 1px solid rgba(0, 0, 0, .08);
  border-radius: 8px;
  padding: 15px 20px 0;
}
.pc-profit-row { display: flex; flex-wrap: wrap; }
.pc-profit-item {
  display: flex;
  align-items: center;
  width: 345px;
  margin-bottom: 15px;
  margin-right: 12px;
}
.pc-profit-item label {
  width: 70px;
  padding-right: 12px;
  font-size: 15px;
  color: #767b86;
  text-align: right;
  box-sizing: border-box;
}
.pc-profit-item .el-select, .pc-profit-item .el-input, .pc-profit-item .el-date-editor { flex: 1; }
.pc-profit-btns { display: flex; gap: 8px; margin-bottom: 15px; height: 36px; align-items: flex-start; }
.pc-profit-toggle { font-size: 15px; color: #5d87ff; cursor: pointer; line-height: 32px; margin-left: 2px; }
.pc-profit-card {
  margin-top: 12px;
  background: #fff;
  border: 1px solid rgba(0, 0, 0, .08);
  border-radius: 8px;
  padding: 20px;
}
.pc-profit-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px; }
.pc-profit-head-left { display: flex; gap: 12px; align-items: center; }
.pc-profit-table th.el-table__cell { background: #fff; color: #909399; font-weight: 600; font-size: 15px; height: 43px; }
.pc-profit-table td.el-table__cell { height: 41px; }
.pc-profit-ops { display: flex; gap: 8px; }
.pc-profit-pager { display: flex; justify-content: flex-end; align-items: center; margin-top: 12px; gap: 12px; }
.pc-profit-dlg { border-radius: 12px; }
.pc-profit-dlg .el-dialog__title { font-size: 16px; color: rgba(0, 0, 0, .75); }
.pc-profit-hint { font-size: 15px; color: #16a34a; margin-top: 4px; line-height: 16px; }
.pc-profit-hint2 { font-size: 15px; color: #16a34a; line-height: 16px; margin: 0; }
.pc-profit-recv-title { text-align: center; font-size: 15px; font-weight: 700; color: #767b86; margin-bottom: 8px; }
.pc-profit-recv-table { margin-bottom: 8px; }
.pc-profit-recv-table th.el-table__cell { font-size: 15px; color: #909399; font-weight: 600; }
.pc-profit-recv-table td.el-table__cell { font-size: 15px; }
.pc-profit-recv-add { text-align: center; margin-bottom: 12px; }
.pc-profit-stat { display: flex; gap: 40px; }
.pc-profit-stat-sec { flex: 1; }
.pc-profit-stat-title { font-size: 15px; font-weight: 700; color: rgba(0, 0, 0, .75); margin-bottom: 10px; }
.pc-profit-stat-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 7px 0;
  font-size: 15px;
  color: #767b86;
  border-bottom: 1px dashed #ebeef5;
}
.pc-profit-stat-row:last-child { border-bottom: none; }
.pc-profit-stat-row b { color: rgba(0, 0, 0, .75); font-weight: 600; }
.pc-profit-stat-row b.ok { color: #67c23a; }
.pc-profit-stat-row b.bad { color: #f56c6c; }
.pc-profit-rowbtns { display: flex; gap: 10px; align-items: center; }
.pc-profit-rowbtns .el-button { margin: 0; padding: 0; }

/* 分账管理：字体与左侧菜单同步 15px + 单元格单行 */
.pc-profit-bar, .pc-profit-card, .pc-profit-dlg { --el-font-size-base: 15px; --el-font-size-small: 15px; }
.pc-profit-item label { font-size: 15px; }
.pc-profit-btns .el-button, .pc-profit-head .el-button { font-size: 15px; }
.pc-profit-toggle { font-size: 15px; }
.pc-profit-table th.el-table__cell { font-size: 15px; }
.pc-profit-table td.el-table__cell { font-size: 15px; height: 41px; }
.pc-profit-table td .cell, .pc-profit-table th .cell { white-space: nowrap; }
.pc-profit-rowbtns .el-button { font-size: 15px; }
.pc-profit-dlg .el-dialog__title { font-size: 15px; }
.pc-profit-dlg .el-form-item__label { font-size: 15px; }
.pc-profit-dlg .el-input__inner, .pc-profit-dlg .el-select__placeholder, .pc-profit-dlg .el-select__selected-item { font-size: 15px; }
.pc-profit-dlg .el-dialog__footer .el-button { font-size: 15px; }
.pc-profit-hint, .pc-profit-hint2 { font-size: 15px; }
.pc-profit-recv-title { font-size: 15px; }
.pc-profit-recv-table th.el-table__cell, .pc-profit-recv-table td.el-table__cell { font-size: 15px; }
.pc-profit-stat-title { font-size: 15px; }
.pc-profit-stat-row { font-size: 15px; }

/* ===== 结算管理（1:1 复刻 xjupay）===== */
.pc-stbar {
  background: #fff;
  border: 1px solid rgba(0, 0, 0, .08);
  border-radius: 8px;
  padding: 15px 20px 0;
}
.pc-strow { display: flex; flex-wrap: wrap; }
.pc-stitem {
  display: flex;
  align-items: center;
  width: 345px;
  margin-bottom: 15px;
  margin-right: 12px;
}
.pc-stitem label {
  width: 70px;
  padding-right: 12px;
  font-size: 15px;
  color: #767b86;
  text-align: right;
  box-sizing: border-box;
}
.pc-stitem .el-select, .pc-stitem .el-input, .pc-stitem .el-date-editor { flex: 1; }
.pc-stbtns { display: flex; gap: 8px; margin-bottom: 15px; height: 36px; align-items: flex-start; }
.pc-sttoggle { font-size: 15px; color: #5d87ff; cursor: pointer; line-height: 32px; margin-left: 2px; }
.pc-stcard {
  margin-top: 12px;
  background: #fff;
  border: 1px solid rgba(0, 0, 0, .08);
  border-radius: 8px;
  padding: 20px;
}
.pc-sthead { display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px; }
.pc-sthead-left { display: flex; gap: 12px; align-items: center; }
.pc-sttable th.el-table__cell { background: #fff; color: #909399; font-weight: 600; font-size: 15px; height: 43px; }
.pc-sttable td.el-table__cell { font-size: 15px; height: 41px; }
.pc-sttable td .cell, .pc-sttable th .cell { white-space: nowrap; }
.pc-stpager { display: flex; justify-content: flex-end; align-items: center; margin-top: 12px; gap: 12px; }
.pc-stcard-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 18px 20px;
  margin: -20px -20px 20px;
  border-bottom: 1px solid #ebeef5;
  font-size: 16px;
  font-weight: 700;
  color: rgba(0, 0, 0, .75);
}
.pc-stbtn { border-radius: 5px; font-size: 15px; }
.pc-sthint {
  margin-top: 12px;
  background: #fff;
  border: 1px solid rgba(0, 0, 0, .08);
  border-radius: 8px;
  padding: 12px 16px;
  font-size: 15px;
  color: #909399;
  line-height: 1.7;
}
.pc-ststat { display: flex; gap: 40px; }
.pc-ststat-sec { flex: 1; }
.pc-ststat-title { font-size: 15px; font-weight: 700; color: rgba(0, 0, 0, .75); margin-bottom: 10px; }
.pc-ststat-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 7px 0;
  font-size: 15px;
  color: #767b86;
  border-bottom: 1px dashed #ebeef5;
}
.pc-ststat-row:last-child { border-bottom: none; }
.pc-ststat-row b { color: rgba(0, 0, 0, .75); font-weight: 600; }
.pc-ststat-row b.ok { color: #67c23a; }
.pc-ststat-row b.bad { color: #f56c6c; }
.pc-ststat-row b.warn { color: #e6a23c; }
.pc-ststat-row b.info { color: #909399; }
.pc-stbar, .pc-stcard { --el-font-size-base: 15px; --el-font-size-small: 15px; }

/* ===== 投诉记录（重新 1:1 复刻 xjupay）===== */
.pc-cmp2-bar {
  background: #fff;
  border: 1px solid rgba(0, 0, 0, .08);
  border-radius: 8px;
  padding: 15px 20px 0;
}
.pc-cmp2-row { display: flex; flex-wrap: wrap; }
.pc-cmp2-item {
  display: flex;
  align-items: center;
  width: 345px;
  margin-bottom: 15px;
  margin-right: 12px;
}
.pc-cmp2-item label {
  width: 70px;
  padding-right: 12px;
  font-size: 15px;
  color: #767b86;
  text-align: right;
  box-sizing: border-box;
}
.pc-cmp2-item .el-select, .pc-cmp2-item .el-input, .pc-cmp2-item .el-date-editor { flex: 1; }
.pc-cmp2-btns { display: flex; gap: 8px; margin-bottom: 15px; height: 36px; align-items: flex-start; }
.pc-cmp2-toggle { font-size: 15px; color: #5d87ff; cursor: pointer; line-height: 32px; margin-left: 2px; }
.pc-cmp2-card {
  margin-top: 12px;
  background: #fff;
  border: 1px solid rgba(0, 0, 0, .08);
  border-radius: 8px;
  padding: 20px;
}
.pc-cmp2-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px; }
.pc-cmp2-head-left { display: flex; gap: 8px; align-items: center; }
.pc-cmp2-fetch { margin-right: 8px; }
.pc-cmp2-table th.el-table__cell {
  background: #fff;
  color: #909399;
  font-weight: 600;
  font-size: 15px;
  height: 63px;
  line-height: 1.35;
}
.pc-cmp2-th2 { font-weight: 400; color: #c0c4cc; }
.pc-cmp2-table td.el-table__cell { font-size: 15px; height: 41px; }
.pc-cmp2-link { color: #5d87ff; cursor: pointer; }
.pc-cmp2-link:hover { text-decoration: underline; }
.pc-cmp2-sub { font-size: 15px; color: #9ca3af; }
.pc-cmp2-money { font-size: 15px; color: #f97316; }
.pc-cmp2-trunc { max-width: 220px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pc-cmp2-pager { display: flex; justify-content: flex-end; align-items: center; margin-top: 12px; gap: 12px; }
.pc-cmp2-desc .el-descriptions__label { font-size: 15px; }
.pc-cmp2-desc .el-descriptions__content { font-size: 15px; }
.pc-cmp2-bar, .pc-cmp2-card { --el-font-size-base: 15px; --el-font-size-small: 15px; }

/* 投诉详情抽屉：待回复留言/回复记录 */
.pc-cmp2-wait { color: #f56c6c; font-weight: 600; }
.pc-cmp2-nowait { color: #409eff; font-weight: 600; }
.pc-cmp2-hint { font-size: 15px; color: #16a34a; margin-top: 4px; line-height: 16px; }
.pc-cmp2-replies { margin-top: 16px; border-top: 1px solid #ebeef5; padding-top: 12px; }
.pc-cmp2-replies-title { font-size: 15px; font-weight: 700; color: rgba(0, 0, 0, .75); margin-bottom: 10px; }
.pc-cmp2-reply {
  background: #f5f7fa;
  border-radius: 6px;
  padding: 10px 12px;
  margin-bottom: 8px;
}
.pc-cmp2-reply-time { font-size: 15px; color: #909399; margin-bottom: 4px; }
.pc-cmp2-reply-content { font-size: 15px; color: rgba(0, 0, 0, .75); word-break: break-all; }

/* ==================== 其他功能：风控记录 1:1 ==================== */
.pc-risk .pc-paychan-col label { width: 70px; flex: none; font-size: 15px; color: #767b86; }
.pc-risk .el-button { font-size: 15px; }
.pc-risk .el-table { font-size: 15px; }
.pc-risk .el-table th.el-table__cell, .pc-risk .el-table td.el-table__cell { font-size: 15px; }
.pc-risk .el-select, .pc-risk .el-input { font-size: 15px; }
.pc-risk .el-pagination { font-size: 15px; }
.pc-risk .el-tag { font-size: 15px; }
.pc-risk .el-button { border-radius: 6px; }
.pc-risk-card { margin-top: 12px; }
.pc-risk-head { height: 32px; }
.pc-risk-link { color: #5d87ff; }

/* ==================== 其他功能：获取用户标识 1:1 ==================== */
.pc-gettoken { width: 100%; }
.pc-gettoken-card { background: #fff; border: 1px solid #e4e7ed; border-radius: 4px; overflow: hidden; }
.pc-gettoken-head { padding: 18px 20px; font-size: 16px; font-weight: 700; color: rgba(0, 0, 0, .75); border-bottom: 1px solid #ebeef5; }
.pc-gettoken-body { padding: 20px; }
.pc-gettoken-label { font-size: 15px; font-weight: 500; color: rgba(0, 0, 0, .75); margin-bottom: 4px; }
.pc-gettoken-label-gap { margin-top: 16px; }
.pc-gettoken-hint { font-size: 15px; color: #16a34a; margin-top: 4px; }
.pc-gettoken-gen { width: 100%; margin-top: 16px; }
.pc-gettoken-qrbox { margin-top: 16px; border: 1px solid rgba(0, 0, 0, .75); background: #f9fafb; border-radius: 4px; padding: 16px; text-align: center; }
.pc-gettoken-qrtip { font-size: 15px; color: #6b7280; margin-bottom: 12px; }
.pc-gettoken-qr { display: inline-block; line-height: 0; }
.pc-gettoken-qr img, .pc-gettoken-qr canvas { width: 180px; height: 180px; }
.pc-gettoken-qrfoot { font-size: 15px; color: #9ca3af; margin-top: 8px; }

/* ==================== 计划任务（参考站 1:1） ==================== */
.cron-page { padding-bottom: 24px; }
.cron-config-card {
  background: #fff; border: 1px solid #ebeef5; border-radius: 12px; padding: 20px;
}
.cron-cfg-head { margin-bottom: 24px; }
.cron-cfg-head h2 { font-size: 20px; font-weight: 700; color: rgba(0, 0, 0, .75); margin: 0; }
.cron-cfg-head p { font-size: 15px; color: #6b7280; margin: 4px 0 0; }
.cron-config-card .el-form-item__label { color: #767b86; }
.cron-config-card .el-radio-button__inner.is-active { background: #5d87ff; border-color: #5d87ff; }
.cron-cfg-w { width: 100%; max-width: 896px; }
.cron-alert { margin-bottom: 12px; }
.cron-cmdbox {
  background: #f5f7fa; border: 1px solid #ebeef5; border-radius: 10px; padding: 12px 16px;
}
.cron-cmdbox p { margin: 0; line-height: 32px; font-size: 15px; color: rgba(0, 0, 0, .75); }
.cron-cmd-label { font-size: 15px; color: #6b7280; }
.cron-cmd-val {
  background: #ffedd5; border-radius: 6px; padding: 4px; word-break: break-all;
}
.cron-swoole-state { margin-top: 12px; display: flex; align-items: center; gap: 8px; }
.cron-cfg-hint { margin-top: 8px; font-size: 15px; color: #6b7280; }
.cron-cfg-footer {
  border-top: 1px solid #e5e7eb; padding-top: 16px; margin: 0;
  font-size: 15px; color: #6b7280; line-height: 20px;
}
.cron-section {
  display: flex; align-items: center; justify-content: space-between;
  margin: 24px 2px 16px;
}
.cron-section h2 { font-size: 20px; font-weight: 700; color: rgba(0, 0, 0, .75); margin: 0; }
.cron-section p { font-size: 15px; color: #6b7280; margin: 4px 0 0; }
.cron-section-right { display: flex; align-items: center; gap: 8px; }
.cron-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px;
}
@media (max-width: 1400px) { .cron-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 900px) { .cron-grid { grid-template-columns: 1fr; } }
.cron-task-card {
  background: #fff; border: 1px solid #ebeef5; border-radius: 12px;
}
.cron-task-disabled { opacity: .75; }
.cron-task-head {
  display: flex; align-items: flex-start; justify-content: space-between; gap: 12px;
  padding: 18px 20px; border-bottom: 1px solid #ebeef5;
}
.cron-task-head .el-switch { flex: none; margin-left: 8px; }
.cron-task-head .el-switch .is-text { white-space: nowrap; }
.cron-task-titlebox { min-width: 0; }
.cron-task-titlerow { display: flex; align-items: center; gap: 4px; min-width: 0; }
.cron-task-title {
  font-size: 16px; font-weight: 600; color: rgba(0, 0, 0, .75);
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.cron-task-tag { flex: none; }
.cron-task-action { flex: none; width: 20px; height: 20px; padding: 0; margin-left: 2px; }
.cron-task-desc {
  margin-top: 4px; font-size: 15px; color: #6b7280;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.cron-task-body { padding: 20px; display: grid; gap: 10px; }
.cron-info-item { display: flex; align-items: center; gap: 12px; height: 24px; }
.cron-info-item > span { color: #909399; flex: none; width: 64px; font-size: 16px; }
.cron-info-item strong { font-size: 15px; font-weight: 500; color: #767b86; }
.cron-info-val { display: flex; align-items: center; gap: 4px; }
.cron-params-task { color: #909399; font-size: 15px; margin-bottom: 12px; }
.cron-params-empty { color: #909399; font-size: 15px; padding: 20px 0; }

/* ==================== 订单管理列表列样式 ==================== */
.ord-link { color: #547bff; cursor: pointer; }
.ord-link:hover { text-decoration: underline; }
.ord-gold { color: #e6a23c; }
.ord-share { color: #67C23A; }
.ord-payicon { width: 16px; height: 16px; vertical-align: -3px; margin-right: 4px; display: inline-block; }

/* ==================== 订单详情抽屉（2026-09-02 重设计） ==================== */
.ord-detail-drawer .n-drawer-body-content { padding: 0 !important; }
.od-body { padding: 14px; background: #f5f7fa; min-height: 100%; box-sizing: border-box; }
.od-body > * + * { margin-top: 12px; }

/* 顶部订单号卡 */
.od-hero { background: linear-gradient(135deg, #1d5fe0, #366ef4 60%, #4a83f8); color: #fff; padding: 16px 18px; }
.od-hero-row { display: flex; align-items: center; gap: 10px; }
.od-hero-label { font-size: 12px; opacity: .72; flex: none; }
.od-hero-no { font-size: 20px; font-weight: 700; letter-spacing: .5px; font-variant-numeric: tabular-nums; }
.od-hero-copy { color: rgba(255,255,255,.85) !important; }
.od-hero-copy:hover { color: #fff !important; background: rgba(255,255,255,.12) !important; }
.od-hero-meta { display: flex; align-items: center; gap: 8px; margin-top: 10px; flex-wrap: wrap; }
.od-hero .n-tag { background: rgba(255,255,255,.18); color: #fff; }
.od-hero-div { width: 1px; height: 12px; background: rgba(255,255,255,.3); }
.od-hero-item { font-size: 12px; opacity: .85; }

/* 金额四宫格 */
.od-money-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: #eef1f6; }
.od-money-item { background: #fff; padding: 12px 10px; text-align: center; }
.od-money-label { font-size: 12px; color: #86909c; }
.od-money-value { font-size: 17px; font-weight: 700; margin-top: 4px; font-variant-numeric: tabular-nums; }
.od-money-gold { color: #e6a23c; }
.od-money-red { color: #f76560; }
.od-money-green { color: #67c23a; }
.od-money-blue { color: #547bff; }

/* 信息分组卡片 */
.od-sec { background: #fff; padding: 12px 16px 6px; }
.od-sec-title { display: flex; align-items: center; gap: 6px; font-size: 14px; font-weight: 700; color: rgba(0, 0, 0, .85); padding-bottom: 10px; border-bottom: 1px solid #f0f2f5; }
.od-sec-title .n-icon { color: #366ef4; }
.od-row { display: flex; align-items: center; padding: 8px 0; border-bottom: 1px solid #f5f7fa; font-size: 13px; }
.od-row:last-child { border-bottom: none; }
.od-row-label { flex: none; width: 86px; color: #86909c; }
.od-row-value { flex: 1; min-width: 0; color: rgba(0, 0, 0, .85); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.od-row-mono { font-variant-numeric: tabular-nums; }
.od-row-copy { margin-left: 6px; }
.od-row-black { margin-left: 6px; color: #f56c6c !important; }
.od-row-block { flex-direction: column; align-items: flex-start; gap: 6px; }
.od-row-block .od-row-label { width: auto; }
.od-row-param { white-space: pre-wrap; word-break: break-all; line-height: 1.7; overflow: visible; }
.ord-detail-link { color: #5d87ff; cursor: pointer; }

/* 底部操作 */
.od-footer { display: flex; align-items: center; justify-content: space-between; padding-top: 2px; }
.od-footer-left { display: flex; gap: 8px; }
.od-btn-icon { margin-right: 4px; }

/* ==================== 公众号/小程序新增弹窗（参考站对齐） ==================== */
.pc-req::before { content: '* '; color: #f56c6c; }
.pc-wx-hint { font-size: 12px; color: #86909c; line-height: 1.9; background: #f7f9fc; border: 1px solid #eef1f6; padding: 10px 12px; }
.pc-wx-hl { color: #f56c6c; }

/* ==================== 系统设置等页面标签栏美化（2026-09-03） ==================== */
.st-set-tabs .n-tabs-nav { border-bottom: 1px solid #eef1f6; padding: 0; }
.st-set-tabs .n-tabs-tab { font-size: 14px; padding: 9px 10px; color: #4e5969; transition: color .15s; }
.st-set-tabs .n-tabs-tab-pad { width: 6px; }
.st-set-tabs .n-tabs-tab:hover { color: #1677ff; }
.st-set-tabs .n-tabs-tab--active { color: #1677ff !important; font-weight: 600 !important; }
.st-set-tabs .n-tabs-bar { background-color: #1677ff; }
/* 保存操作栏吸底：长表单滚动时始终可见 */
.st-set-actions { position: sticky; bottom: 0; z-index: 5; background: #fff; padding-bottom: 14px; margin-bottom: -6px; }

/* ==================== 邮箱/短信（参考站 mail-settings 结构） ==================== */
.mb-box { margin-top: -2px; }
.mb-tabs > .n-tabs-nav { border-bottom: 1px solid #eef1f6; }
.mb-chan { margin: 10px 0 0; }
.mb-test-row { display: flex; align-items: center; gap: 10px; margin-top: 18px; }
.mb-rate-form { max-width: 600px; margin-top: 16px; }
.mb-ico-row { display: flex; align-items: center; gap: 8px; }
.mb-ops { display: flex; align-items: center; justify-content: center; gap: 10px; }
.mb-ico { display: inline-flex; align-items: center; justify-content: center; width: 26px; height: 26px; color: #fff; flex: none; }
.mb-ico .n-icon { font-size: 15px; }
.mb-ico-mail { background: #1677ff; }
.mb-ico-sms { background: #16b777; }


/* ============================================================
   2026-08-27 官网系统 Ant Design Pro 复刻覆盖层
   ============================================================ */

/* ---------- 侧边栏：Ant Pro 深色 #001529 ---------- */
.pc-sidebar {
  background:
    radial-gradient(320px 220px at 20% 0%, rgba(19, 173, 255, .06), transparent 70%),
    radial-gradient(240px 200px at 80% 100%, rgba(24, 144, 255, .04), transparent 70%),
    linear-gradient(180deg, #ffffff 0%, #f7fbff 55%, #f2f8ff 100%);
  border-right: 1px solid #f0f0f0;
  box-shadow: 2px 0 8px rgba(0, 21, 41, .04);
}
.pc-menu-rail { background: transparent; border-right: 1px solid #f0f0f0; }
.pc-menu-rail::-webkit-scrollbar-thumb { background: rgba(0, 0, 0, .12); }
.pc-rail-logo .mark { border-radius: 6px; box-shadow: none; }
.pc-rail-item { color: rgba(0, 0, 0, .65); border-radius: 6px; }
.pc-rail-item:hover { background: #f0f7ff; color: #1890ff; }
.pc-rail-item.active { background: #e6f7ff; color: #1890ff; box-shadow: none; }
.pc-menu-panel { background: transparent; }
.pc-panel-title { color: rgba(0, 0, 0, .75); font-size: 15px; }
.pc-panel-group { color: rgba(0, 0, 0, .45); font-size: 13.5px; letter-spacing: 1px; }
.pc-panel-items::-webkit-scrollbar-thumb { background: rgba(0, 0, 0, .12); }
.pc-panel-item { color: rgba(0, 0, 0, .65); border-radius: 0; font-size: 15px; }
.pc-panel-item:hover { background: #f0f7ff; color: #1890ff; }
.pc-panel-item.active { background: #e6f7ff; color: #1890ff; font-weight: 500; box-shadow: none; }

/* ---------- 顶栏：白底 64px 轻投影 ---------- */
.pc-topbar {
  height: 64px;
  background: #fff;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  border-bottom: 1px solid var(--pc-border);
  box-shadow: 0 1px 4px rgba(0, 21, 41, .08);
}
.pc-avatar { background: #1890ff; }
.pc-content { padding: 24px; }

/* ---------- 卡片：白底 8px 圆角 Ant 轻阴影 ---------- */
.pc-card, .pc-paychan-card, .el-card,
.pc-stbar, .pc-cmp2-card, .pc-profit-bar,
.pc-mgroup-card, .pc-mgroupbuy-card, .pc-minv-card, .pc-cmp-card {
  border-radius: 8px;
  border: 1px solid var(--pc-border);
  box-shadow: var(--pc-shadow);
}
.pc-paychan-bar { border-radius: 8px; }
.cron-config-card, .cron-task-card { border-radius: 8px; border-color: var(--pc-border); }

/* ---------- 表格：Ant 风格 ---------- */
.el-table {
  --el-table-border-color: #f0f0f0;
  --el-table-header-bg-color: #fafafa;
  --el-table-row-hover-bg-color: #fafafa;
}
.el-table th.el-table__cell {
  background: #fafafa !important;
  color: rgba(0, 0, 0, .72) !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  border-bottom: 1px solid #f0f0f0 !important;
}
.el-table td.el-table__cell { color: rgba(0, 0, 0, .55); border-bottom: 1px solid #f0f0f0; }

/* ---------- 按钮：Ant 纯色 #1890ff ---------- */
.el-button { border-radius: 6px; font-weight: 400; }
.el-button--primary { background: #1890ff; border: 1px solid #1890ff; box-shadow: none; }
.el-button--primary:hover { background: #40a9ff; border-color: #40a9ff; }
.el-button--default { border-color: #d9d9d9; background: #fff; }
.el-button--default:hover { color: #1890ff; border-color: #1890ff; background: #fff; }
.el-button--primary.is-plain { background: #e6f7ff; border-color: #91d5ff; color: #1890ff; box-shadow: none; }
.el-button--primary.is-link { background: transparent; border: none; box-shadow: none; }

/* ---------- 输入/选择框：Ant ---------- */
.el-input__wrapper, .el-select__wrapper { border-radius: 6px; box-shadow: 0 0 0 1px #d9d9d9 inset; }
.el-input__wrapper:hover, .el-select__wrapper:hover { box-shadow: 0 0 0 1px #1890ff inset; }
.el-input__wrapper.is-focus,
.el-select__wrapper.is-focused,
.el-textarea__inner:focus {
  box-shadow: 0 0 0 1px #1890ff inset, 0 0 0 3px rgba(24, 144, 255, .12) !important;
}

/* ---------- 弹窗/消息 ---------- */
.el-dialog { border-radius: 8px; box-shadow: 0 6px 16px -8px rgba(0,0,0,.08), 0 9px 28px 0 rgba(0,0,0,.05); }
.el-dialog__title, .el-drawer__title { font-weight: 600; }
.el-message-box { border-radius: 8px; }
.el-message { border-radius: 6px; box-shadow: var(--pc-shadow); }
.el-notification { border-radius: 8px; }
.el-dropdown-menu { border-radius: 8px; box-shadow: var(--pc-shadow); }
.el-popper.is-light { border-radius: 8px; }

/* ---------- 标签/分页 ---------- */
.el-tag { border-radius: 4px; }
.el-pagination .el-pager li { border-radius: 4px; }
.el-pagination.is-background .el-pager li { background: #fff; border: 1px solid #d9d9d9; }
.el-pagination.is-background .el-pager li.is-active { background: #1890ff; border-color: #1890ff; }

/* ---------- 订单抽屉蓝链接同步 Ant 主色 ---------- */
.ord-detail-link { color: #1890ff; }

/* ---------- 暗色主题适配 ---------- */
html.dark body { background: #141414; }
html.dark .pc-sidebar {
  background:
    radial-gradient(320px 220px at 20% 0%, rgba(19, 173, 255, .16), transparent 70%),
    linear-gradient(180deg, #16305e 0%, #0b1d30 40%, #0a1828 100%);
  border-right-color: rgba(255, 255, 255, .08);
}
html.dark .pc-menu-rail { border-right-color: rgba(255, 255, 255, .08); }
html.dark .pc-rail-item, html.dark .pc-panel-item { color: rgba(255, 255, 255, .65); }
html.dark .pc-rail-item:hover, html.dark .pc-panel-item:hover { background: rgba(255, 255, 255, .06); color: #fff; }
html.dark .pc-rail-item.active, html.dark .pc-panel-item.active { background: #1890ff; color: #fff; }
html.dark .pc-panel-title { color: #fff; }
html.dark .pc-panel-group { color: rgba(255, 255, 255, .45); }
html.dark .pc-topbar { background: #141414; border-color: #303030; }
html.dark .pc-card, html.dark .pc-paychan-card, html.dark .el-card,
html.dark .pc-stbar, html.dark .pc-cmp2-card { background: #1f1f1f; border-color: #303030; }
html.dark .el-table { --el-table-header-bg-color: #1d1d1d; --el-table-bg-color: #1f1f1f; --el-table-border-color: #303030; --el-table-row-hover-bg-color: #262626; }
html.dark .el-table th.el-table__cell { background: #1d1d1d !important; color: rgba(255,255,255,.85) !important; border-bottom-color: #303030 !important; }
html.dark .el-button--default { background: #1f1f1f; border-color: #434343; color: rgba(255,255,255,.85); }
html.dark .pc-login { background: #141414; }
html.dark .pc-login-card { background: #1f1f1f; }
html.dark .pc-login-brand h2 { -webkit-text-fill-color: rgba(255, 255, 255, .85); }
html.dark .pc-login-brand p, html.dark .pc-login-form .sub { color: rgba(255,255,255,.45); }

/* ---------- 侧栏线条图标 ---------- */
.pc-rail-item .am-icon { width: 20px; height: 20px; display: block; }

/* ---------- 一级菜单：浅色方框图标 + 名称 ---------- */
.pc-sidebar { width: 274px; }
.pc-root.collapsed .pc-sidebar { width: 84px; }
.pc-menu-rail { width: 84px; align-items: stretch; }
.pc-rail-item {
  width: 84px;
  height: auto;
  flex-direction: column;
  gap: 4px;
  padding: 10px 0 8px;
  margin-bottom: 4px;
  border-radius: 6px;
  background: transparent;
}
.pc-rail-box {
  width: 38px; height: 38px;
  border-radius: 9px;
  background: #f0f2f5;
  display: flex; align-items: center; justify-content: center;
  transition: background .15s;
}
.pc-rail-box .am-icon { width: 18px; height: 18px; display: block; }
.pc-rail-name {
  font-size: 15px;
  line-height: 1.25;
  max-width: 78px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  transition: color .15s;
}
.pc-rail-item:hover { background: transparent; }
.pc-rail-item:hover .pc-rail-box { background: #e6f7ff; }
.pc-rail-item:hover .pc-rail-name { color: #1890ff; }
.pc-rail-item.active { background: #1890ff; }
.pc-rail-item.active .pc-rail-box { background: transparent; }
.pc-rail-item.active .pc-rail-name { color: #fff; font-weight: 500; }
.pc-rail-item.active .am-icon, .pc-rail-item:hover .am-icon { color: #1890ff; }
.pc-rail-item.active .am-icon { color: #fff; }

/* 折叠态：只显示方框图标 */
.pc-root.collapsed .pc-rail-name { display: none; }
.pc-root.collapsed .pc-rail-item { padding: 8px 0; }
.pc-root.collapsed .pc-menu-rail { align-items: center; }

/* 暗色主题方框 */
html.dark .pc-rail-box { background: rgba(255, 255, 255, .08); }
html.dark .pc-rail-item:hover .pc-rail-box { background: rgba(24, 144, 255, .25); }
html.dark .pc-rail-item.active .pc-rail-box { background: transparent; }



/* ============================================================
   2026-08-27 登录页 v4：官网分栏 + IDC 白背景 + 浮动卡片 + 多方式登录
   ============================================================ */
.login2-page {
  position: relative;
  min-height: 100vh;
  display: flex; align-items: center; justify-content: center;
  background: linear-gradient(rgba(255, 255, 255, .15), rgba(255, 255, 255, .15)), url('../img/login-bg.jpg') center / cover no-repeat;
  padding: 24px;
  overflow: hidden;
  box-sizing: border-box;
}
/* 背景白色光束（xtuidc 同款） */
.login2-bline1, .login2-bline2, .login2-bline3 {
  position: absolute; pointer-events: none;
  background: linear-gradient(rgba(255, 255, 255, .45) 0%, rgba(255, 255, 255, 0) 100%);
}
.login2-bline1 { width: 46%; height: 180px; left: -12%; top: 8%; transform: rotate(24deg); animation: login2beam 10s ease-in-out infinite; }
.login2-bline2 { width: 38%; height: 220px; right: -10%; top: 34%; transform: rotate(-18deg); animation: login2beam 13s ease-in-out infinite -3s; }
.login2-bline3 { width: 42%; height: 160px; left: 6%; bottom: -4%; transform: rotate(-28deg); animation: login2beam 11s ease-in-out infinite -6s; }
@keyframes login2beam {
  0%, 100% { opacity: .55; transform: translateX(0) rotate(24deg); }
  50%      { opacity: 1; transform: translateX(26px) rotate(24deg); }
}
.login2-bline2 { animation-name: login2beam2; }
.login2-bline3 { animation-name: login2beam3; }
@keyframes login2beam2 {
  0%, 100% { opacity: .5; transform: translateX(0) rotate(-18deg); }
  50%      { opacity: .95; transform: translateX(-24px) rotate(-18deg); }
}
@keyframes login2beam3 {
  0%, 100% { opacity: .5; transform: translateX(0) rotate(-28deg); }
  50%      { opacity: .95; transform: translateX(22px) rotate(-28deg); }
}
.login2-wrap {
  position: relative;
  z-index: 1;
  width: min(1020px, 100%);
  min-height: 560px;
  display: grid;
  grid-template-columns: 430px 1fr;
  background: #fff;
  border: 1px solid #e5e9f2;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 26px 64px rgba(23, 78, 151, .16), 0 4px 14px rgba(23, 78, 151, .08);
  animation: login2breathe 6s ease-in-out infinite;
}
@keyframes login2breathe {
  0%, 100% { box-shadow: 0 18px 44px rgba(23, 78, 151, .12), 0 3px 10px rgba(23, 78, 151, .06); }
  50%      { box-shadow: 0 30px 68px rgba(23, 78, 151, .20), 0 6px 16px rgba(23, 78, 151, .10); }
}
.login2-left {
  position: relative;
  display: flex; flex-direction: column;
  padding: 40px 36px 28px;
  background: linear-gradient(165deg, #E7F1FC 0%, #F3F8FD 55%, #FFFFFF 100%);
  border-right: 1px solid #E5E9F2;
  overflow: hidden;
}
.login2-brand { display: flex; align-items: center; gap: 13px; }
.login2-logo {
  display: flex; align-items: center; justify-content: center;
  width: 48px; height: 48px; border-radius: 10px;
  background: #2B78E4; color: #fff;
  box-shadow: 0 4px 12px rgba(43, 120, 228, .25);
}
.login2-logo svg { width: 24px; height: 24px; }
.login2-brand h1 { font-size: 20px; font-weight: 650; color: #1f2a3d; letter-spacing: .01em; margin: 0; }
.login2-brand p { font-size: 14px; color: #8b96a8; margin: 3px 0 0; }
.login2-slogan { margin-top: 44px; }
.login2-slogan h2 { font-size: 24px; font-weight: 650; color: #1f2a3d; letter-spacing: -.01em; margin: 0; }
.login2-slogan p { font-size: 14px; color: #8b96a8; margin: 8px 0 0; line-height: 1.7; }
.login2-features { list-style: none; margin: 30px 0 0; padding: 0; display: flex; flex-direction: column; gap: 16px; }
.login2-features li { display: flex; align-items: center; gap: 12px; }
.login2-features svg { width: 21px; height: 21px; flex: 0 0 21px; color: #2B78E4; }
.login2-features span { font-size: 14px; color: #8b96a8; line-height: 1.6; }
.login2-features b { display: block; font-size: 14px; font-weight: 600; color: #55617a; margin-bottom: 1px; }
.login2-copy { margin-top: auto; padding-top: 24px; font-size: 14px; color: #b5bdca; }
.login2-right { display: flex; align-items: center; justify-content: center; padding: 44px 30px; }
.login2-card { width: min(420px, 100%); text-align: center; }
.login2-title {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
  font-size: 28px !important;
  font-weight: 700 !important;
  letter-spacing: .02em !important;
  color: transparent !important;
  background: linear-gradient(115deg, #13adff 0%, #006eff 55%, #005ad6 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  text-shadow: none;
  margin: 0;
}
.login2-sub { font-size: 14px; color: #8b96a8; margin: 8px 0 18px; }

/* 登录方式标签 */
.login2-tabs {
  display: flex; gap: 6px; margin-bottom: 18px;
  background: #f2f6fc;
  border: 1px solid #e5e9f2;
  border-radius: 999px; padding: 4px;
}
.login2-tabs span {
  flex: 1; text-align: center; padding: 7px 0;
  font-size: 15px; color: #8b96a8;
  border-radius: 999px; cursor: pointer; user-select: none;
  transition: all .2s;
}
.login2-tabs span.active {
  background: linear-gradient(135deg, #13adff, #006eff);
  color: #fff; font-weight: 600;
  box-shadow: 0 3px 10px rgba(0, 110, 255, .3);
}
.login2-tip { font-size: 14px; margin: 0 0 12px; line-height: 1.5; text-align: left; }
.login2-tip.error { color: #e84d4d; }
.login2-tip.info { color: #1890ff; }

.login2-field { position: relative; display: flex; align-items: center; margin-bottom: 14px; }
.login2-field-ico {
  position: absolute; left: 15px; display: flex; align-items: center;
  color: #b5bdca; pointer-events: none; transition: color .2s;
}
.login2-field-ico svg { width: 20px; height: 20px; }
.login2-field:focus-within .login2-field-ico { color: #2B78E4; }
.login2-input {
  width: 100%; height: 46px; padding: 0 16px 0 44px;
  border: 1px solid #E5E9F2; border-radius: 7px;
  background: #fbfcfe; color: #1f2a3d; font-size: 15px;
  box-sizing: border-box;
  transition: border-color .2s, box-shadow .2s, background .2s;
}
.login2-input:hover { border-color: #c4d9f6; }
.login2-input:focus { border-color: #2B78E4; background: #fff; box-shadow: 0 0 0 3px rgba(43, 120, 228, .1); outline: none; }
.login2-input::placeholder { color: #b5bdca; }
.login2-codebtn {
  position: absolute; right: 12px;
  border: 0; background: none; cursor: pointer;
  font-size: 13.5px; color: #2B78E4; white-space: nowrap;
  padding: 4px 6px; border-radius: 6px;
}
.login2-codebtn:hover { color: #005ad6; }
.login2-codebtn:disabled { color: #b5bdca; cursor: not-allowed; }
.login2-regtype { display: flex; gap: 18px; margin-bottom: 14px; text-align: left; }
.login2-regtype span {
  font-size: 15px; color: #8b96a8;
  cursor: pointer; padding-bottom: 3px; border-bottom: 2px solid transparent;
  transition: all .2s; user-select: none;
}
.login2-regtype span.active { color: #2B78E4; border-bottom-color: #2B78E4; }

.login2-btn {
  width: 100%; height: 46px; margin-top: 4px;
  border: 0; border-radius: 7px; cursor: pointer;
  background: #2B78E4; color: #fff;
  font-size: 15px; font-weight: 600; letter-spacing: .35em; text-indent: .35em;
  box-shadow: 0 3px 10px rgba(43, 120, 228, .22);
  transition: all .2s cubic-bezier(.22, 1, .36, 1);
}
.login2-btn:hover { background: rgba(43, 120, 228, .9); box-shadow: 0 5px 14px rgba(43, 120, 228, .28); }
.login2-btn:disabled { opacity: .6; cursor: not-allowed; }

.login2-quick {
  display: flex; align-items: center; justify-content: center; gap: 8px;
  margin-top: 18px; font-size: 13.5px; color: #8b96a8;
}
.login2-quickbtn { color: #2B78E4; cursor: pointer; text-decoration: none; }
.login2-quickbtn:hover { color: #005ad6; }
.login2-footer { margin-top: 20px; font-size: 14px; }
.login2-footer a { color: #8b96a8; text-decoration: none; transition: color .2s; }
.login2-footer a:hover { color: #2B78E4; }

@media (max-width: 820px) {
  .login2-wrap { grid-template-columns: 1fr; min-height: auto; }
  .login2-left { display: none; }
  .login2-right { padding: 44px 24px; }
}

/* ---------- 后台全局字体放大（与用户中心一致） ---------- */
html, body { font-size: 16px; }
body { font-size: 15px; }
.el-table { font-size: 15px; }
.el-table th .cell { font-size: 15px; }
.el-dialog__title { font-size: 17px; }
.el-form-item__label { font-size: 15px; }
.el-tabs__item { font-size: 15px; }
.el-pagination { font-size: 15px; }
.el-dropdown-menu__item { font-size: 15px; }
.el-message-box { font-size: 15px; }
.pc-menu .el-menu-item, .pc-menu .el-sub-menu__title { font-size: 15px; }
.pc-rail-name { font-size: 15px; }
.pc-panel-title { font-size: 15px; }
.pc-panel-item { font-size: 15px; }
.pc-logo { font-size: 17px; }
.pc-card-title { font-size: 16px; }
.pc-card-title .sub { font-size: 15px; }
.pc-stat .head { font-size: 15px; }
.pc-stat .num { font-size: 28px; }
.pc-stat .label { font-size: 15px; }
.pc-quick .q-label { font-size: 15px; }
.pc-quick .q-num { font-size: 21px; }
.art-search-bar .art-label { font-size: 15px; }
.bs-panel-title { font-size: 15px; }
.bs-live-item { font-size: 15px; }
.bs-stat-num { font-size: 22px; }
.bs-stat-label { font-size: 15px; }
.bs-time, .bs-sub { font-size: 15px; }
.bs-order { font-size: 15px; }

/* EP small 组件字号统一 */
.el-button--small { font-size: 13px; }
.el-button--small .el-icon { font-size: 13px; }
.el-tag--small { font-size: 13px; height: 22px; }
.el-tag--small .el-tag__content { font-size: 13px; }

/* ============================================================
   设计规范换皮层 v2（2026-08-27 定稿，与用户中心一致）
   字体/颜色/圆角/阴影/间距 —— 只换皮，不动 DOM 与逻辑
   ============================================================ */

/* ---------- 1. 全局字体：微软雅黑优先，其次苹方，无衬线 ---------- */
html { font-size: 14px; }
body {
  font-family: "Microsoft YaHei", "PingFang SC", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  font-size: 14px;
  line-height: 1.6;
  background: #f5f7fa;
}

/* ---------- 2. 主题令牌：主色 #4080ff，状态色 EP 组件默认 ---------- */
:root {
  --pc-primary: #4080ff;
  --pc-primary-hover: #73a8ff;
  --pc-primary-light: #f0f5ff;
  --pc-accent: #4080ff;
  --pc-bg: #f5f7fa;
  --pc-text: #1f2329;
  --pc-text-2: #4e5969;
  --pc-text-3: #86909c;
  --pc-success: #67c23a;
  --pc-success-bg: #f0f9eb;
  --pc-danger: #f56c6c;
  --pc-danger-bg: #fef0f0;
  --pc-border: #e5e6eb;
  --pc-radius: 8px;
  --pc-shadow: 0 2px 12px rgba(0, 0, 0, .08);
  --pc-side-active: #4080ff;
  /* EP 主色家族 */
  --el-color-primary: #4080ff;
  --el-color-primary-light-3: #73a8ff;
  --el-color-primary-light-5: #a3c4ff;
  --el-color-primary-light-7: #c9dbff;
  --el-color-primary-light-8: #dce8ff;
  --el-color-primary-light-9: #f0f5ff;
  --el-color-primary-dark-2: #3373e6;
  /* EP 状态色恢复组件默认 */
  --el-color-success: #67c23a;
  --el-color-success-light-3: #95d475;
  --el-color-success-light-5: #b3e19d;
  --el-color-success-light-7: #d1edc4;
  --el-color-success-light-8: #e1f3d8;
  --el-color-success-light-9: #f0f9eb;
  --el-color-success-dark-2: #529b2e;
  --el-color-warning: #e6a23c;
  --el-color-warning-light-3: #eebe77;
  --el-color-warning-light-5: #f3d19e;
  --el-color-warning-light-7: #f8e3c5;
  --el-color-warning-light-8: #faecd8;
  --el-color-warning-light-9: #fdf6ec;
  --el-color-warning-dark-2: #b88230;
  --el-color-danger: #f56c6c;
  --el-color-error: #f56c6c;
  --el-color-danger-light-3: #f89898;
  --el-color-danger-light-5: #fab6b6;
  --el-color-danger-light-7: #fcd3d3;
  --el-color-danger-light-8: #fde2e2;
  --el-color-danger-light-9: #fef0f0;
  --el-color-danger-dark-2: #c45656;
  --el-color-info: #909399;
  --el-color-info-light-3: #b1b3b8;
  --el-color-info-light-5: #c8c9cc;
  --el-color-info-light-7: #dedfe0;
  --el-color-info-light-8: #e9e9eb;
  --el-color-info-light-9: #f4f4f5;
  --el-color-info-dark-2: #73767a;
  /* EP 文字/字号 */
  --el-text-color-primary: #1f2329;
  --el-text-color-regular: #4e5969;
  --el-text-color-secondary: #86909c;
  --el-font-size-base: 14px;
  --el-font-size-small: 13px;
  --el-font-size-extra-small: 12px;
  --el-bg-color-page: #f5f7fa;
  --el-border-radius-base: 8px;
}

/* ---------- 3. 布局背景与卡片 ---------- */
.pc-content { background: #f5f7fa; padding: 16px 24px 20px; }
.pc-card, .el-card, .art-card, .cron-config-card, .cron-task-card,
.pc-paychan-card, .pc-cmp-card, .pc-profit-bar, .pc-stbar, .pc-mgroup-card,
.pc-mgroupbuy-card, .pc-minv-card, .pc-rec-card, .pc-gettoken-card, .rpt-card {
  border-radius: 8px;
  box-shadow: 0 2px 12px rgba(0, 0, 0, .08);
  border: none;
}
.pc-card { margin-bottom: 16px; }

/* ---------- 4. 标题 ---------- */
.ord-title, .pc-page-head {
  font-size: 20px; font-weight: 600; color: #1f2329; line-height: 1.3; margin-bottom: 16px;
}
.cron-task-titlerow { font-size: 20px; font-weight: 600; color: #1f2329; line-height: 1.3; }
.pc-card-title, .pc-cmp-card-title, .pc-ststat-title, .pc-profit-stat-title,
.pc-profit-recv-title, .pc-cmp-table-title, .pc-app-addon-title, .pc-app-tpl-title,
.cron-task-title, .rpt-card-title, .pc-app-item-title {
  font-size: 16px; font-weight: 600; color: #1f2329; line-height: 1.3;
}
.rpt-subcard-title { font-size: 16px; font-weight: 600; color: #1f2329; }
.art-card-header h4 { font-size: 16px; font-weight: 600; color: #1f2329; }

/* ---------- 5. 正文与辅助文字 ---------- */
.el-table { font-size: 14px; color: #4e5969; }
.el-table th.el-table__cell { color: #1f2329; font-weight: 600; }
.el-form-item__label { font-size: 14px; color: #4e5969; }
.el-descriptions__label { font-size: 14px; color: #4e5969; }
.art-search-bar .art-label, .pc-paychan-col label, .pc-rec-filter label,
.cron-task-info label { font-size: 14px; color: #4e5969; }
.pc-cmp2-sub, .ord-sub, .pc-rec-hint, .cron-hint, .pc-profit-hint {
  font-size: 13px; color: #86909c;
}

/* ---------- 6. 面包屑 ---------- */
.el-breadcrumb__inner, .el-breadcrumb__inner.is-link { color: #86909c; font-size: 14px; font-weight: 400; }
.el-breadcrumb__item:last-child .el-breadcrumb__inner { color: #1f2329; font-weight: 500; }

/* ---------- 7. 表格 hover 高亮（组件默认） ---------- */
.el-table__body tr:hover > td.el-table__cell { background-color: #f5f7fa; }

/* ---------- 8. 弹窗 ---------- */
.el-dialog { border-radius: 8px; }
.el-message-box { border-radius: 8px; }
.el-drawer { border-radius: 8px 0 0 8px; }

/* ---------- 9. 菜单选中与高亮 ---------- */
.pc-rail-item.active { background: #4080ff; }
.pc-panel-item.active { color: #4080ff; background: #f0f5ff; }
.pc-panel-item:hover { color: #4080ff; }

/* ---------- 10. 硬编码蓝统一为 #4080ff（按钮/链接） ---------- */
.rpt-btn-primary { background: #4080ff; border-color: #4080ff; }
.rpt-btn-primary:hover { background: #73a8ff; border-color: #73a8ff; }
.rpt-btn-plain:hover { border-color: #4080ff; color: #4080ff; }
a, .el-link { color: #4080ff; }
.ord-link, .pc-link, .art-link, .pc-cmp2-link, .pc-profit-link, .pc-rec-link { color: #4080ff !important; }
.ord-gold { color: #e6a23c !important; }
.ord-share { color: #67c23a !important; }

/* ---------- 11. 登录页主色统一 ---------- */
.pc-login-btn, .login2-btn { background: #4080ff; }
.pc-login-btn:hover, .login2-btn:hover { background: #73a8ff; }
.login2-tab.active { color: #4080ff; border-bottom-color: #4080ff; }
.login2-forgot { color: #4080ff; }

/* ---------- 12. 顶栏/其余微调 ---------- */
.pc-topbar { background: #fff; }
.pc-side-bg { background: #fff; }

/* ---------- 13. Ant 硬编码按钮/菜单规则覆盖 ---------- */
.el-button--primary { background: #4080ff; border: 1px solid #4080ff; box-shadow: none; }
.el-button--primary:hover, .el-button--primary:focus { background: #73a8ff; border-color: #73a8ff; }
.el-button--primary.is-plain { background: #f0f5ff; border-color: #c9dbff; color: #4080ff; }
.pc-rail-item:hover { color: #4080ff; }
.pc-rail-item.active { background: #4080ff; color: #fff; }
.pc-panel-item.active { background: #f0f5ff; color: #4080ff; }
.pc-avatar { background: #4080ff; }




/* ---------- 15. 左侧图标栏 80px 试验 ---------- */
.pc-sidebar { width: 270px; }
.pc-menu-rail { width: 80px; }
.pc-rail-item { width: 80px; }
.pc-root.collapsed .pc-sidebar { width: 80px; }

/* ---------- 16. 图标栏选中态：蓝底白字 ---------- */
.pc-rail-item:hover .pc-rail-name { color: #4080ff; }
.pc-rail-item.active { background: #4080ff; }
.pc-rail-item.active .pc-rail-box { background: transparent; }
.pc-rail-item.active .pc-rail-name { color: #fff; font-weight: 500; }
.pc-rail-item.active .am-icon, .pc-rail-item.active:hover .am-icon { color: #fff; }

/* ---------- 17. 图标栏名称字号微调 ---------- */
.pc-rail-name { font-size: 12px; max-width: 74px; }
.pc-rail-item { gap: 3px; padding: 9px 0 7px; }

/* ---------- 18. 右侧面板字号同步微调 ---------- */
.pc-panel-title { font-size: 15px; }
.pc-panel-group { font-size: 13px; }
.pc-panel-item { font-size: 14px; height: 40px; line-height: 40px; }

/* ---------- 19. 面板标题居中 ---------- */
.pc-panel-title { justify-content: center; text-align: center; padding: 0 8px; }

/* 商户列表操作列按钮一排显示 */
.el-table .el-table__cell .cell { white-space: nowrap; }

/* ---------- 商户进件页 ---------- */
.pc-apply-head { display: flex; align-items: center; justify-content: space-between; padding: 4px 0 14px; font-size: 16px; font-weight: 600; color: #1f2329; }
.pc-apply-count { font-size: 13px; font-weight: 400; color: #86909c; }

/* ---------- 应用市场：参考站目录 ---------- */
.pc-app-icon-def {
  width: 48px; height: 48px; border-radius: 8px;
  display: flex; align-items: center; justify-content: center;
  color: #fff; font-size: 20px; font-weight: 600; flex: none;
}
.pc-app-ref-tag {
  font-size: 11px; color: #86909c;
  border: 1px solid #e5e6eb; border-radius: 3px; padding: 0 5px;
}

/* ---------- 应用商店分类标签（与云端分类同步） ---------- */
.pc-store-cats {
  display: flex; align-items: center; flex-wrap: wrap; gap: 8px;
  margin-bottom: 14px;
}
.pc-store-cat {
  padding: 5px 16px; border-radius: 999px; font-size: 13px;
  background: #f2f3f5; color: #4e5969; cursor: pointer;
  transition: all .2s; user-select: none;
}
.pc-store-cat:hover { color: #4080ff; background: #e8f1ff; }
.pc-store-cat-active { background: #4080ff; color: #fff !important; }
.pc-store-cat-active:hover { color: #fff !important; background: #4080ff; }

/* ---------- 应用商店列表行布局（参考站显示模式） ---------- */
.pc-app-grid { display: flex; flex-direction: column; gap: 10px; }
.pc-app-item { flex-direction: row; align-items: center; gap: 16px; padding: 13px 18px; }
.pc-app-icon { width: 44px; height: 44px; flex: none; }
.pc-app-icon-def { width: 44px; height: 44px; font-size: 18px; }
.pc-app-row-body { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 5px; }
.pc-app-item-desc { min-height: 0; }
.pc-app-preview { width: 96px; height: 58px; border-radius: 6px; flex: none; cursor: zoom-in; border: 1px solid #ebeef5; }
.pc-app-item-foot { flex: none; }

/* 云市场账户余额 */
.pc-app-balance { font-size: 13px; color: #4e5969; display: inline-flex; align-items: center; }
.pc-app-balance b { color: #f97316; font-size: 15px; margin: 0 2px; }


/* ---------- 顶栏授权状态 + 授权中心弹窗（参考站升级弹窗样式） ---------- */
.pc-license-status { font-size: 13px; font-weight: 600; cursor: pointer; padding: 3px 12px; border-radius: 999px; transition: all .2s; }
.pc-license-active { color: #67C23A; background: #F0F9EB; border: 1px solid #E1F3D8; }
.pc-license-term { margin-left: 10px; cursor: default; }
/* 右上角授权到期时间框（金色，不可点击） */
.pc-license-time { margin-left: 8px; font-size: 13px; font-weight: 600; padding: 3px 12px; border-radius: 999px; color: #e6a23c; background: #fdf6ec; border: 1px solid #f5dab1; font-variant-numeric: tabular-nums; cursor: default; }

/* 顶栏菜单搜索框 */
.pc-menu-search { position: relative; margin-right: 12px; }
.pc-menu-search-input { width: 200px; }
.pc-menu-search-pop { position: absolute; top: 34px; right: 0; width: 280px; background: #fff; border: 1px solid #e4e7ed; box-shadow: 0 6px 24px rgba(0, 0, 0, .12); padding: 6px 0; max-height: 420px; overflow: auto; z-index: 9990; }
.pc-menu-search-item { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 8px 14px; cursor: pointer; }
.pc-menu-search-item:hover { background: #f2f5ff; }
.pc-menu-search-title { font-size: 14px; color: #1f2329; }
.pc-menu-search-item:hover .pc-menu-search-title { color: #1677ff; }
.pc-menu-search-group { font-size: 12px; color: #86909c; flex: none; }
.pc-menu-search-empty { padding: 14px; text-align: center; font-size: 13px; color: #86909c; }

/* ==================== 转账页面 ==================== */
.tr-two { font-size: 14px; color: var(--pc-text); white-space: nowrap; }
.tr-sub { font-size: 12px; color: var(--pc-text-3); margin-top: 2px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%; }
.tr-mono { font-variant-numeric: tabular-nums; }
.tr-money { font-size: 14px; font-weight: 700; color: #f76560; white-space: nowrap; }
.tr-stat-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.tr-stat-item { background: #f7f9fc; border: 1px solid #eef1f6; padding: 14px; text-align: center; }
.tr-stat-label { font-size: 13px; color: #86909c; }
.tr-stat-value { font-size: 20px; font-weight: 700; color: #1f2329; margin-top: 6px; }
.tr-stat-money { color: #1677ff; }
.tr-stat-ok { color: #16b777; }
.pc-account-user .pc-license-term { color: #67C23A; }
/* 消息提示置于授权弹窗等全屏遮罩之上（授权遮罩 z-index 99999） */
.n-message-container { z-index: 100000 !important; }
.pc-license-expired, .pc-license-inactive { color: #f56c6c; background: #fef0f0; border: 1px solid #fbc4c4; }
.pc-license-unknown { color: #909399; background: #f4f4f5; border: 1px solid #e4e7ed; }

.pc-license-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,.5); z-index: 99999; display: flex; justify-content: center; align-items: center; }
.pc-license-box { width: 680px; background: #fff; border-radius: 12px; overflow: hidden; box-shadow: 0 20px 60px rgba(0,0,0,.2); }
.pc-license-header { background: linear-gradient(135deg,#0a0a0a 0%,#1a1a1a 40%,#2d2d2d 70%,#3d3d3d 100%); padding: 24px 30px; position: relative; overflow: hidden; }
.pc-license-header::before { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: linear-gradient(135deg,rgba(212,175,55,.15) 0%,rgba(184,134,11,.1) 50%,rgba(218,165,32,.2) 100%); pointer-events: none; }
.pc-license-header h3 { margin: 0 0 6px; font-size: 20px; color: #d4af37; font-weight: 600; position: relative; z-index: 1; }
.pc-license-header p { margin: 0; font-size: 13px; color: rgba(212,175,55,.7); position: relative; z-index: 1; }
.pc-license-close { position: absolute; top: 16px; right: 16px; width: 28px; height: 28px; border-radius: 50%; background: rgba(212,175,55,.1); border: none; color: rgba(212,175,55,.6); font-size: 18px; cursor: pointer; z-index: 1; }
.pc-license-close:hover { background: rgba(212,175,55,.2); color: #d4af37; }
.pc-license-body { display: flex; padding: 24px 30px; gap: 30px; }
.pc-license-left { flex: 1; }
.pc-license-left h4 { margin: 0 0 16px; font-size: 14px; color: #333; font-weight: 600; }
.pc-feature-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2,1fr); gap: 8px; }
.pc-feature-list li { display: flex; align-items: center; gap: 8px; font-size: 13px; color: #555; padding: 8px 0; }
.pc-check-icon { color: #52c41a; font-weight: bold; font-size: 14px; }
.pc-license-right { width: 240px; }
.pc-license-tip { background: #fff8e6; color: #b8860b; border: 1px solid #ffd591; border-radius: 6px; padding: 8px 10px; font-size: 12px; margin-bottom: 10px; }
.pc-license-login-form { display: flex; flex-direction: column; gap: 8px; margin-bottom: 12px; }
.pc-license-input { width: 100%; padding: 9px 12px; border: 1px solid #e8e8e8; border-radius: 6px; font-size: 13px; box-sizing: border-box; }
.pc-license-input:focus { outline: none; border-color: #faad14; }
.pc-price-section { margin-bottom: 14px; }
.pc-price-label, .pc-info-label { font-size: 12px; color: #888; margin-bottom: 8px; }
.pc-info-section { margin-bottom: 12px; }
.pc-info-value { background: #f8f8f8; padding: 9px 12px; border-radius: 6px; font-size: 13px; color: #333; }
.pc-pay-tabs { display: flex; gap: 8px; }
.pc-pay-tab { flex: 1; padding: 8px; text-align: center; background: #f8f8f8; border-radius: 6px; font-size: 12px; color: #666; }
.pc-pay-tab.active { background: #fff3e0; color: #faad14; border: 1px solid #ffd591; }
.pc-btn-upgrade { width: 100%; padding: 12px; background: linear-gradient(135deg,#faad14 0%,#d48806 100%); color: #fff; border: none; border-radius: 6px; font-size: 14px; font-weight: 600; cursor: pointer; }
.pc-btn-upgrade:hover { opacity: .9; }
.pc-btn-upgrade:disabled { opacity: .6; cursor: not-allowed; }
.pc-pkg-card { padding: 10px 12px; border: 1px solid #e8e8e8; border-radius: 8px; cursor: pointer; margin-bottom: 8px; transition: all .2s; position: relative; display: flex; align-items: center; justify-content: space-between; }
.pc-pkg-card:hover { border-color: #faad14; }
.pc-pkg-card.active { border-color: #faad14; background: #fffbf0; }
.pc-pkg-name { font-size: 13px; color: #333; }
.pc-pkg-price { display: flex; align-items: baseline; gap: 6px; }
.pc-pkg-sale { font-size: 16px; font-weight: 600; color: #faad14; }

/* 套餐标签切换 */
.pc-plan-tabs { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 10px; }
.pc-plan-tab { padding: 6px 14px; border-radius: 6px; background: #f8f8f8; border: 1px solid #e8e8e8; font-size: 12px; color: #666; cursor: pointer; transition: all .2s; }
.pc-plan-tab:hover { border-color: #faad14; color: #faad14; }
.pc-plan-tab.active { background: #fff3e0; border-color: #ffd591; color: #faad14; font-weight: 600; }
.pc-plan-detail { border: 1px solid #f5dab1; background: #fffbf0; border-radius: 8px; padding: 12px 14px; margin-bottom: 4px; }
.pc-plan-detail-row { display: flex; align-items: baseline; justify-content: space-between; }
.pc-plan-detail-name { font-size: 13px; font-weight: 600; color: #333; }
.pc-plan-detail-price { font-size: 18px; font-weight: 600; color: #faad14; }
.pc-plan-detail-note { font-size: 12px; color: #999; margin-top: 6px; line-height: 1.5; }
.pc-account-section { background: #f8f8f8; border-radius: 8px; padding: 12px; margin-bottom: 14px; }
.pc-account-info { display: flex; justify-content: space-between; align-items: center; }
.pc-account-user { font-size: 13px; color: #333; }
.pc-account-user span { color: #faad14; font-weight: 600; }
.pc-account-balance { font-size: 12px; color: #666; margin-top: 4px; }
.pc-account-actions { display: flex; gap: 8px; margin-top: 10px; }
.pc-btn-logout { flex: 1; padding: 6px; background: #fff; border: 1px solid #ddd; border-radius: 4px; font-size: 12px; color: #666; cursor: pointer; }
.pc-btn-logout:hover { border-color: #faad14; color: #faad14; }

/* ---------- 在线充值弹窗（金色主题） ---------- */
.pc-recharge-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,.5); z-index: 99999; display: flex; justify-content: center; align-items: center; }
.pc-recharge-box { width: 440px; background: #fff; border-radius: 12px; overflow: hidden; box-shadow: 0 20px 60px rgba(0,0,0,.2); }
.pc-recharge-header { background: linear-gradient(135deg,#0a0a0a 0%,#1a1a1a 40%,#2d2d2d 70%,#3d3d3d 100%); padding: 22px 28px; position: relative; overflow: hidden; }
.pc-recharge-header::before { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: linear-gradient(135deg,rgba(212,175,55,.15) 0%,rgba(184,134,11,.1) 50%,rgba(218,165,32,.2) 100%); pointer-events: none; }
.pc-recharge-header h3 { margin: 0 0 5px; font-size: 19px; color: #d4af37; font-weight: 600; position: relative; z-index: 1; }
.pc-recharge-header p { margin: 0; font-size: 12px; color: rgba(212,175,55,.7); position: relative; z-index: 1; }
.pc-recharge-body { padding: 22px 28px 26px; }
.pc-recharge-balance { display: flex; align-items: baseline; justify-content: space-between; background: #f8f8f8; border-radius: 8px; padding: 12px 16px; margin-bottom: 16px; }
.pc-recharge-balance-label { font-size: 13px; color: #666; }
.pc-recharge-balance-value { font-size: 20px; font-weight: 700; color: #faad14; }
.pc-recharge-label { font-size: 13px; color: #888; margin-bottom: 8px; }
.pc-recharge-amount-row { display: flex; align-items: center; gap: 8px; margin-bottom: 10px; }
.pc-recharge-currency { font-size: 22px; font-weight: 600; color: #333; }
.pc-recharge-amount-row .el-input-number { width: 100%; }
.pc-recharge-amount-row .el-input__inner { font-size: 18px; font-weight: 600; height: 42px; }
.pc-recharge-quick { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 16px; }
.pc-recharge-quick-item { padding: 4px 12px; border-radius: 6px; background: #f8f8f8; border: 1px solid #e8e8e8; font-size: 12px; color: #666; cursor: pointer; transition: all .2s; }
.pc-recharge-quick-item:hover { border-color: #faad14; color: #faad14; }
.pc-recharge-quick-item.active { background: #fff3e0; border-color: #ffd591; color: #faad14; font-weight: 600; }
.pc-recharge-methods { display: flex; gap: 10px; margin-bottom: 14px; }
.pc-recharge-method { flex: 1; display: flex; align-items: center; gap: 8px; padding: 12px 10px; border: 1px solid #e8e8e8; border-radius: 8px; cursor: pointer; transition: all .2s; position: relative; }
.pc-recharge-method:hover { border-color: #faad14; }
.pc-recharge-method.active { border-color: #faad14; background: #fffbf0; }
.pc-recharge-method-icon { width: 30px; height: 30px; border-radius: 50%; color: #fff; display: flex; align-items: center; justify-content: center; font-size: 14px; font-weight: 600; flex: none; }
.pc-recharge-method-name { font-size: 13px; color: #333; flex: 1; }
.pc-recharge-method-check { position: absolute; top: -7px; right: -7px; width: 18px; height: 18px; border-radius: 50%; background: #faad14; color: #fff; font-size: 11px; display: flex; align-items: center; justify-content: center; }
.pc-recharge-no-method { width: 100%; text-align: center; color: #999; font-size: 13px; padding: 10px 0; }
.pc-recharge-order { background: #fff8e6; border: 1px solid #ffd591; border-radius: 6px; padding: 8px 12px; font-size: 12px; color: #b8860b; margin-bottom: 14px; }
.pc-recharge-submit { width: 100%; padding: 13px; background: linear-gradient(135deg,#faad14 0%,#d48806 100%); color: #fff; border: none; border-radius: 8px; font-size: 15px; font-weight: 600; cursor: pointer; }
.pc-recharge-submit:hover { opacity: .9; }
.pc-recharge-submit:disabled { opacity: .6; cursor: not-allowed; }

/* ---------- 登录页：商户中心同款（xtuidc 布局） ---------- */
.mclogin {
  min-height: 100vh;
  display: flex; align-items: center; justify-content: center;
  background: url('/static/admin-spa/img/login-bg.jpg') center / cover no-repeat;
  padding: 24px;
  box-sizing: border-box;
}
.xlogin, .xreg-wrap { position: relative; width: min(1100px, 100%); height: 640px; z-index: 1; }
.xlogin-blue {
  position: absolute; left: 0; top: 0; bottom: 0;
  width: 44%;
  background: #1a56db;
  border-radius: 20px;
  overflow: hidden;
  font-family: 'PingFang SC', 'Microsoft YaHei', sans-serif;
}
.xlogin-backtext { position: relative; z-index: 10; color: #fff; margin: 64px 0 0 0; padding: 0 36px; text-align: center; font-weight: 400; }
.xlogin-welcome { font-size: 52px; font-family: Bahnschrift, Arial, sans-serif; line-height: 1; }
.xlogin-wtitle { font-size: 22px; margin-top: 5px; }
.xlogin-wdesc { font-size: 12px; margin-top: 30px; }
/* 左侧特性列表（后台描述） */
.xlogin-features { list-style: none; margin: 40px auto 0; padding: 0; max-width: 320px; text-align: left; position: relative; z-index: 10; }
.xlogin-features li { display: flex; align-items: flex-start; gap: 10px; margin-bottom: 22px; }
.xlogin-ficon { width: 20px; height: 20px; border-radius: 50%; background: rgba(255,255,255,.2); color: #fff; font-size: 12px; display: flex; align-items: center; justify-content: center; flex: none; margin-top: 2px; }
.xlogin-features b { display: block; font-size: 15px; font-weight: 600; margin-bottom: 3px; }
.xlogin-features p { margin: 0; font-size: 13px; color: rgba(255,255,255,.78); }
.xlogin-copy { position: absolute; left: 44px; bottom: 22px; color: rgba(255,255,255,.6); font-size: 13px; z-index: 10; }
.xlogin-bline1, .xlogin-bline2, .xlogin-bline3 {
  width: 52px;
  background: linear-gradient(180deg, rgba(255, 255, 255, .3) 0%, rgba(255, 255, 255, 0) 100%);
  position: absolute;
  z-index: 2;
}
.xlogin-bline1 { height: 300px; transform: rotate(45deg); top: -60px; left: 62%; }
.xlogin-bline2 { height: 400px; transform: rotate(110deg); top: 0; left: 72%; }
.xlogin-bline3 { height: 300px; transform: rotate(45deg); top: 220px; left: 52%; clip-path: polygon(0 26px, 56px 0, 100% 100%, 0 100%); }
.xlogin-card {
  position: absolute; right: 40px; top: 0; bottom: 0; border-radius: 20px;
  width: 620px;
  background: #fff;
  box-shadow: 0 3px 12px rgba(0, 0, 0, .1);
  z-index: 10;
  display: flex; align-items: center; justify-content: center;
  padding: 40px 60px;
  box-sizing: border-box;
}
.xlogin-formwrap, .xreg-formwrap { width: 100%; max-width: 400px; }
.xreg-logo { text-align: center; margin: -30px 0 16px; }
.xreg-logo img { width: 72px; height: 72px; border-radius: 12px; object-fit: cover; }
.xreg-site { margin-top: 10px; font-size: 18px; font-weight: 500; color: #1e2736; font-family: 'PingFang SC', 'Microsoft YaHei', sans-serif; }
.xreg-text { margin-bottom: 22px; text-align: center; }
.xreg-title { font-size: 28px; font-weight: 500; color: #1e2736; }
.xreg-form { width: 100%; }
.xreg-tip { font-size: 13px; color: #f56c6c; margin-bottom: 10px; }
.xreg-item { margin-bottom: 14px; }
.xreg-item .el-input__wrapper { background: #f2f3f5; box-shadow: none; border-radius: 4px; height: 42px; }
.xreg-item .el-input__inner { height: 42px; color: #595959; }
.xreg-login-btn { width: 100%; height: 46px; font-size: 14.5px; font-weight: 500; border-radius: 0; background: #0056ff; border-color: #0056ff; }
.xreg-login-btn:hover { background: #0056ff; border-color: #0056ff; opacity: .8; }
@media (max-width: 900px) {
  .xlogin { height: auto; }
  .xlogin-blue { display: none; }
  .xlogin-card { position: static; width: min(620px, 100%); min-height: 560px; border-radius: 8px; }
}

.pc-tabs-row { display: flex; gap: 8px; }
.pc-tab2 { padding: 6px 16px; border-radius: 999px; font-size: 13px; background: #f2f3f5; color: #4e5969; cursor: pointer; transition: all .2s; }
.pc-tab2:hover { color: #4080ff; }
.pc-tab2.active { background: #4080ff; color: #fff; }

.st-set-alert { background: #f4f4f5; border-radius: 6px; padding: 12px 16px; margin: 0 0 16px; width: 560px; color: #909399; font-size: 13px; line-height: 24px; }
.st-set-alert b { color: #606266; }
.st-set-alert a { color: #4080ff; text-decoration: none; }
.st-set-alert a:hover { text-decoration: underline; }

/* ==================== 全局正方形风格：后台所有输入框/方框/按钮去圆角（与用户中心一致） ==================== */
#app * { border-radius: 0 !important; }

/* ---------- 用户组设置（复刻参考站 费率分组 general-card） ---------- */
.pc-gengroup-card {
  background: #fafcff;
  border: none;
  box-shadow: none;
  border-radius: 18px;
  padding: 20px 24px 8px;
}
.pc-gengroup-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 16px;
}
.pc-gengroup-title { font-size: 16px; font-weight: 600; color: #1d2129; }
html.dark .pc-gengroup-card { background: #1a2029; }
html.dark .pc-gengroup-title { color: #e6e9ef; }

/* ---------- 用户组配置规则弹窗：长方形 + 标签分页网格 ---------- */
.pc-mgroup-grid2 { display: grid; grid-template-columns: repeat(2, 1fr); column-gap: 28px; }
.pc-mgroup-grid3 { display: grid; grid-template-columns: repeat(3, 1fr); column-gap: 28px; }
.pc-mgroup-grid4 { display: grid; grid-template-columns: repeat(4, 1fr); column-gap: 28px; }
.pc-mgroup-grid2 .n-form-item, .pc-mgroup-grid3 .n-form-item, .pc-mgroup-grid4 .n-form-item { margin-bottom: 14px; }
.pc-mgroup-grid4 .n-form-item .n-form-item-label { max-width: 46%; }
.pc-mgroup-dlg .n-tab-pane { padding-top: 16px; }

/* ---------- 用户组（复刻参考站 xjupay 1:1） ---------- */
.pc-mgroup-row2 { display: grid; grid-template-columns: 14fr 10fr; gap: 24px; }
.pc-mgroup-col14 { min-width: 0; }
.pc-mgroup-col10 { min-width: 0; }
.pc-mgroup-col12 { min-width: 0; }
.pc-mgroup-h4 { color: #4080ff; font-size: 14px; font-weight: 600; margin: 0 0 10px; }
.pc-mgroup-varhint { font-size: 12px; color: #16a34a; margin-top: 4px; }
.pc-mgroup-tip { margin-top: 14px; }
.pc-mgroup-tip .n-alert__content { font-size: 13px; }
@media (max-width: 1200px) { .pc-mgroup-row2 { grid-template-columns: 1fr 1fr; } }

/* 支付通道（参考站复刻）：配置密钥抽屉/高级设置/金额匹配表 */
.pc-key-file { display: inline-flex; align-items: center; gap: 4px; color: #16a34a; font-size: 13px; }
.pc-key-file .n-a { color: #16a34a; }
.pc-key-file-del { color: #f53f3f; cursor: pointer; font-size: 15px; }
.pc-rules-table { border: 1px solid #eee; border-radius: 4px; overflow: hidden; }
.pc-rules-row { display: flex; gap: 10px; align-items: center; padding: 8px 10px; border-bottom: 1px solid #f0f0f0; }
.pc-rules-row:last-child { border-bottom: none; }
.pc-rules-head { background: #f7f8fa; font-size: 13px; color: #4e5969; font-weight: 600; }

/* 订单表：支付IP / 扩展参数（单行截断） */
.ord-ip { font-size: 13px; }
.ord-ext { display: inline-block; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 13px; }

/* 订单表：金额红（订单金额/实际支付） */
.ord-red { color: #f76560 !important; font-weight: 600; }

/* 退款表：扣减金额浅青 */
.ord-cyan { color: #67C23A; font-weight: 600; }

/* 交易投诉（参考站复刻） */
.pc-cmp2-uid { color: #5d87ff; font-weight: 700; cursor: pointer; }
.pc-cmp2-uid:hover { text-decoration: underline; }
.pc-cmp2-link { color: #5d87ff; cursor: pointer; }
.pc-cmp2-link:hover { text-decoration: underline; }
.pc-cmp2-sub { font-size: 12px; color: #9ca3af; }
.pc-cmp2-money { font-size: 12px; color: #f97316; }
.pc-cmp2-trunc { max-width: 220px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pc-cmp2-ordst { margin-top: 4px; font-size: 12px; line-height: 1; }
.pc-cmp-ord-blue { color: #3b82f6; }
.pc-cmp-ord-green { color: #22c55e; }
.pc-cmp-ord-red { color: #ef4444; }
.pc-cmp-ord-orange { color: #f97316; }
.pc-cmp-ord-gray { color: #6b7280; }
.pc-cmp2-img { position: relative; width: 56px; height: 56px; border: 1px solid #e5e7eb; border-radius: 4px; overflow: hidden; }
.pc-cmp2-img img { width: 100%; height: 100%; object-fit: cover; }
.pc-cmp2-img-del { position: absolute; top: 2px; right: 2px; color: #ef4444; cursor: pointer; background: rgba(255,255,255,.85); border-radius: 2px; }

/* 交易投诉筛选条（参考站 art-search-bar：一行 4 项，label 右对齐） */
.pc-cmp2-sgrid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px 16px; align-items: center; }
.pc-cmp2-sitem { display: flex; align-items: center; gap: 8px; min-width: 0; }
.pc-cmp2-sitem label { flex: none; width: 60px; text-align: right; font-size: 13px; color: #4e5969; }
.pc-cmp2-sitem .n-select, .pc-cmp2-sitem .n-input, .pc-cmp2-sitem .n-date-picker { flex: 1; min-width: 0; }
.pc-cmp2-sbtns { display: flex; justify-content: flex-end; gap: 8px; align-items: center; }
@media (max-width: 1200px) { .pc-cmp2-sgrid { grid-template-columns: repeat(2, 1fr); } }

/* ==================== 全站视觉统一（参考站 art 风格） ==================== */
/* 内容区浅灰背景，突出白色卡片层次 */
.pc-content { background: #f5f6f8; }
/* 统一卡片视觉 */
.pc-paychan-card, .pc-cmp2-card, .pc-cmp-card, .pc-profit-card, .pc-rec-card,
.pc-risk-card, .pc-gettoken-card, .pc-mgroup-card, .pc-mgroupbuy-card,
.pc-minv-card, .pc-paycode-card, .pc-pkg-card, .pc-gengroup-card,
.pc-app-grid-card, .pc-cart-card {
  background: #fff;
  border: 1px solid #e6eaf0;
  border-radius: 8px;
  box-shadow: 0 1px 2px rgba(16, 24, 40, 0.04);
}
/* 统一表格视觉：浅灰表头 + 紧凑行高 + hover 高亮 */
.n-data-table .n-data-table-th {
  background: #f7f8fa !important;
  color: #5a6b85 !important;
  font-weight: 600 !important;
  font-size: 13px !important;
  border-bottom: 1px solid #ebeef2 !important;
}
.n-data-table .n-data-table-td { font-size: 13px; color: #3d4552; }
.n-data-table tbody tr:hover .n-data-table-td { background: #f8fafc !important; }
/* 搜索条白卡化 */
.pc-paychan-bar, .pc-cmp2-bar, .pc-cmp-bar {
  background: #fff;
  border: 1px solid #e6eaf0;
  border-radius: 8px;
  padding: 14px 16px 6px;
  margin-bottom: 14px;
}
/* 页面主标题间距 */
.pc-paychan-top { margin-bottom: 12px; }

/* 公告排版设置：满宽双列网格 */
.st-anounce-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 24px; }
.st-anounce-layout-item { min-width: 0; }
.st-anounce-layout-label { display: flex; align-items: center; gap: 8px; font-size: 14px; color: #4e5969; margin-bottom: 8px; }
.st-al-ic { font-style: normal; }
.st-anounce-layout-foot { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 18px; border-top: 1px solid #f2f3f5; padding-top: 16px; flex-wrap: wrap; }
.st-anounce-layout-tip { font-size: 12.5px; color: #86909c; }
@media (max-width: 900px) { .st-anounce-layout { grid-template-columns: 1fr; } }

/* ==================== 配置密钥抽屉：满宽美化 ==================== */
.pc-key-head { display: flex; align-items: center; gap: 12px; position: sticky; top: 0; z-index: 5; background: #fff; padding: 2px 0 14px; }
.pc-key-head-ico { display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; border-radius: 10px; background: linear-gradient(135deg, #1890ff 0%, #0e5fd8 100%); color: #fff; box-shadow: 0 4px 10px rgba(24, 144, 255, .25); flex-shrink: 0; }
.pc-key-head-main { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.pc-key-head-title { font-size: 17px; font-weight: 700; color: #1d2129; line-height: 1.3; }
.pc-key-head-sub { font-size: 12px; color: #86909c; line-height: 1.4; }
.pc-key-form { padding: 2px 22px 8px; display: flex; flex-direction: column; gap: 16px; }
/* 通道信息条 */
.pc-key-top { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.pc-key-top-item { background: linear-gradient(135deg, #f7faff 0%, #f0f6ff 100%); border: 1px solid #e3edfb; border-radius: 8px; padding: 10px 14px; display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.pc-key-top-l { font-size: 12px; color: #86909c; }
.pc-key-top-v { font-size: 14px; color: #1d2129; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
/* 分区卡片 */
.pc-key-card { background: #fff; border: 1px solid #e8ecf4; border-radius: 12px; padding: 18px 20px 20px; box-shadow: 0 1px 3px rgba(29, 33, 41, .03); }
.pc-key-card-head { display: flex; align-items: center; gap: 8px; margin-bottom: 16px; }
.pc-key-badge { display: inline-flex; align-items: center; justify-content: center; width: 20px; height: 20px; border-radius: 6px; background: #1890ff; color: #fff; font-size: 12px; font-weight: 700; flex-shrink: 0; }
.pc-key-card-title { font-size: 15px; font-weight: 700; color: #1d2129; }
.pc-key-card-desc { font-size: 12px; color: #86909c; margin-left: 4px; }
.pc-key-req { color: #e5484d; font-size: 14px; font-style: normal; }
/* 接口选择：卡片式多选 */
.pc-key-select-group { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.pc-key-select-group .pc-key-select-item.n-checkbox { margin-right: 0; }
.pc-key-select-group .pc-key-select-item { display: flex; align-items: center; padding: 12px 14px; border: 1px solid #e5e9f2; border-radius: 8px; background: #fafbfd; transition: all .18s ease; cursor: pointer; }
.pc-key-select-group .pc-key-select-item:hover { border-color: #69b1ff; background: #f5faff; }
.pc-key-select-group .pc-key-select-item.n-checkbox--checked { border-color: #1890ff; background: #e8f3ff; box-shadow: 0 0 0 1px rgba(24, 144, 255, .18); }
.pc-key-select-group .pc-key-select-item .n-checkbox__label { font-size: 13px; color: #30394a; }
/* 参数网格 */
.pc-key-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 28px; }
.pc-key-field { min-width: 0; }
.pc-key-field.full { grid-column: span 2; }
.pc-key-label { display: block; font-size: 13px; font-weight: 600; color: #30394a; margin-bottom: 7px; line-height: 1.4; }
.pc-key-hint { font-size: 12px; color: #86909c; line-height: 1.6; margin-top: 6px; }
.pc-key-upload { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; min-height: 34px; }
/* 空态 */
.pc-key-empty { display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 34px 0 26px; color: #c2c8d2; background: #fff; border: 1px dashed #dfe5ee; border-radius: 12px; }
.pc-key-empty p { margin: 0; font-size: 13px; color: #86909c; }
/* 插件说明 */
.pc-key-note { display: flex; gap: 9px; padding: 12px 16px; background: #f0f7ff; border: 1px solid #cfe4ff; border-left: 3px solid #1890ff; border-radius: 8px; font-size: 13px; color: #3d5b7d; line-height: 1.8; }
.pc-key-note-ico { color: #1890ff; flex-shrink: 0; margin-top: 3px; }
.pc-key-note-body { min-width: 0; }
.pc-key-note-body p { margin: 0 0 4px; }
.pc-key-note-body p:last-child { margin-bottom: 0; }
.pc-key-note-body ul, .pc-key-note-body ol { margin: 4px 0; padding-left: 18px; }
.pc-key-note-body a { color: #1890ff; }
/* 底部操作栏 */
.pc-key-footer { display: flex; justify-content: flex-end; gap: 10px; padding: 14px 22px 4px; border-top: 1px solid #f0f2f5; margin-top: 14px; }
@media (max-width: 900px) { .pc-key-grid, .pc-key-select-group, .pc-key-top { grid-template-columns: 1fr; } .pc-key-field.full { grid-column: span 1; } }

/* 其他抽屉的替代标题（n-drawer 无 header 槽） */
.od-head-title { font-size: 17px; font-weight: 700; color: #1d2129; margin-bottom: 14px; padding-bottom: 12px; border-bottom: 1px solid #f0f2f5; }
.cron-params-head { font-size: 17px; font-weight: 700; color: #1d2129; margin-bottom: 14px; padding-bottom: 12px; border-bottom: 1px solid #f0f2f5; }

/* ==================== 授权验证页（2026-09-03 重排版） ==================== */
.lic-hero { padding: 0; overflow: hidden; background: linear-gradient(115deg, #1677ff 0%, #0e5fd8 55%, #0a4fc0 100%); color: #fff; }
.lic-hero.off { background: linear-gradient(115deg, #8a93a6 0%, #5a6478 100%); }
.lic-hero-inner { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 26px 28px; flex-wrap: wrap; }
.lic-hero-left { display: flex; align-items: center; gap: 18px; min-width: 0; }
.lic-hero-ico { width: 56px; height: 56px; flex: none; display: flex; align-items: center; justify-content: center; background: rgba(255, 255, 255, .16); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .25); }
.lic-hero-ico .am-icon { width: 28px; height: 28px; }
.lic-hero-title { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; font-size: 20px; font-weight: 700; letter-spacing: .5px; }
.lic-hero-badge { display: inline-flex; align-items: center; gap: 7px; font-size: 12.5px; font-weight: 500; padding: 3px 12px; background: rgba(255, 255, 255, .18); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .3); }
.lic-hero-badge i { width: 7px; height: 7px; border-radius: 50%; background: #52e08a; display: inline-block; box-shadow: 0 0 6px rgba(82, 224, 138, .9); }
.lic-hero.off .lic-hero-badge i { background: #ffd666; box-shadow: 0 0 6px rgba(255, 214, 102, .9); }
.lic-hero-subs { margin-top: 10px; display: flex; gap: 8px 28px; flex-wrap: wrap; font-size: 13.5px; color: rgba(255, 255, 255, .82); }
.lic-hero-subs b { font-weight: 600; color: #fff; margin-left: 4px; }
.lic-hero-btn.n-button { background: #fff; color: #1677ff; font-weight: 600; box-shadow: 0 2px 10px rgba(0, 0, 0, .18); }
.lic-hero-btn.n-button:hover { background: #f2f7ff; color: #0e5fd8; }
.lic-hero.off .lic-hero-btn.n-button { color: #5a6478; }
.lic-hero.off .lic-hero-btn.n-button:hover { color: #444d5e; }
.lic-card-head { display: flex; align-items: center; gap: 8px; font-size: 16px; font-weight: 700; color: rgba(0, 0, 0, .75); margin-bottom: 14px; }
.lic-card-ico { display: inline-flex; align-items: center; justify-content: center; width: 26px; height: 26px; background: rgba(22, 119, 255, .1); color: #1677ff; }
.lic-card-ico .am-icon { width: 15px; height: 15px; }
.lic-code-row { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.lic-code-tip { margin-top: 12px; font-size: 13px; color: #86909c; line-height: 1.7; }
.lic-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px 16px; }
@media (max-width: 1000px) { .lic-grid { grid-template-columns: repeat(2, 1fr); } }
.lic-item { padding: 12px 16px; background: #f7f9fc; box-shadow: inset 0 0 0 1px #eef1f6; }
.lic-item-label { font-size: 12.5px; color: #86909c; margin-bottom: 6px; }
.lic-item-value { font-size: 15px; color: rgba(0, 0, 0, .8); word-break: break-all; }
.lic-item-value.ok { color: #16b777; font-weight: 600; }
.lic-item-value.off { color: #f1416c; font-weight: 600; }
html.dark .lic-hero.off { background: linear-gradient(115deg, #3a4554 0%, #2b333f 100%); }
html.dark .lic-card-head { color: #e6e9ef; }
html.dark .lic-card-ico { background: rgba(64, 150, 255, .15); color: #4096ff; }
html.dark .lic-item { background: #1a2029; box-shadow: inset 0 0 0 1px #2b333f; }
html.dark .lic-item-value { color: rgba(255, 255, 255, .85); }
