/* ============================================================
   88TG Strong Module Color
   所有后台模块强颜色区分：只改显示，不动业务
   ============================================================ */

:root{
  --xm-blue:#315efb;
  --xm-green:#0f9d58;
  --xm-gold:#d4af37;
  --xm-orange:#f59e0b;
  --xm-purple:#7c3aed;
  --xm-red:#dc2626;
  --xm-cyan:#0891b2;
  --xm-pink:#db2777;
}

/* 所有被 JS 标记的模块统一加强区分 */
.xm-module-accent{
  position:relative !important;
  border-radius:18px !important;
  border-left-width:7px !important;
  border-left-style:solid !important;
  border-top-width:4px !important;
  border-top-style:solid !important;
  box-shadow:0 12px 30px rgba(15,23,42,.075) !important;
  overflow:hidden !important;
}

/* 1 蓝 */
.xm-module-accent.xm-accent-1{
  border-left-color:var(--xm-blue) !important;
  border-top-color:var(--xm-blue) !important;
  background:linear-gradient(135deg,#eef4ff 0%,#ffffff 34%,#f8fbff 100%) !important;
}
.xm-module-accent.xm-accent-1 h1,
.xm-module-accent.xm-accent-1 h2,
.xm-module-accent.xm-accent-1 h3{
  color:#1d4ed8 !important;
}
.xm-module-accent.xm-accent-1 th{
  background:#dfeaff !important;
}

/* 2 绿 */
.xm-module-accent.xm-accent-2{
  border-left-color:var(--xm-green) !important;
  border-top-color:var(--xm-green) !important;
  background:linear-gradient(135deg,#e7faef 0%,#ffffff 34%,#f7fffb 100%) !important;
}
.xm-module-accent.xm-accent-2 h1,
.xm-module-accent.xm-accent-2 h2,
.xm-module-accent.xm-accent-2 h3{
  color:#047857 !important;
}
.xm-module-accent.xm-accent-2 th{
  background:#dcf8e8 !important;
}

/* 3 金 */
.xm-module-accent.xm-accent-3{
  border-left-color:var(--xm-gold) !important;
  border-top-color:var(--xm-gold) !important;
  background:linear-gradient(135deg,#fff4c7 0%,#ffffff 36%,#fffdf3 100%) !important;
}
.xm-module-accent.xm-accent-3 h1,
.xm-module-accent.xm-accent-3 h2,
.xm-module-accent.xm-accent-3 h3{
  color:#8a6b11 !important;
}
.xm-module-accent.xm-accent-3 th{
  background:#fff0bd !important;
}

/* 4 橙 */
.xm-module-accent.xm-accent-4{
  border-left-color:var(--xm-orange) !important;
  border-top-color:var(--xm-orange) !important;
  background:linear-gradient(135deg,#fff0d9 0%,#ffffff 36%,#fffaf2 100%) !important;
}
.xm-module-accent.xm-accent-4 h1,
.xm-module-accent.xm-accent-4 h2,
.xm-module-accent.xm-accent-4 h3{
  color:#b45309 !important;
}
.xm-module-accent.xm-accent-4 th{
  background:#ffe6c7 !important;
}

/* 5 紫 */
.xm-module-accent.xm-accent-5{
  border-left-color:var(--xm-purple) !important;
  border-top-color:var(--xm-purple) !important;
  background:linear-gradient(135deg,#f3e8ff 0%,#ffffff 36%,#fbf8ff 100%) !important;
}
.xm-module-accent.xm-accent-5 h1,
.xm-module-accent.xm-accent-5 h2,
.xm-module-accent.xm-accent-5 h3{
  color:#6d28d9 !important;
}
.xm-module-accent.xm-accent-5 th{
  background:#eadcff !important;
}

/* 6 红 */
.xm-module-accent.xm-accent-6{
  border-left-color:var(--xm-red) !important;
  border-top-color:var(--xm-red) !important;
  background:linear-gradient(135deg,#ffe5e5 0%,#ffffff 36%,#fff8f8 100%) !important;
}
.xm-module-accent.xm-accent-6 h1,
.xm-module-accent.xm-accent-6 h2,
.xm-module-accent.xm-accent-6 h3{
  color:#b91c1c !important;
}
.xm-module-accent.xm-accent-6 th{
  background:#ffdede !important;
}

/* 7 青 */
.xm-module-accent.xm-accent-7{
  border-left-color:var(--xm-cyan) !important;
  border-top-color:var(--xm-cyan) !important;
  background:linear-gradient(135deg,#dff8ff 0%,#ffffff 36%,#f2fcff 100%) !important;
}
.xm-module-accent.xm-accent-7 h1,
.xm-module-accent.xm-accent-7 h2,
.xm-module-accent.xm-accent-7 h3{
  color:#0e7490 !important;
}
.xm-module-accent.xm-accent-7 th{
  background:#d5f4fb !important;
}

/* 8 粉 */
.xm-module-accent.xm-accent-8{
  border-left-color:var(--xm-pink) !important;
  border-top-color:var(--xm-pink) !important;
  background:linear-gradient(135deg,#ffe4f1 0%,#ffffff 36%,#fff7fb 100%) !important;
}
.xm-module-accent.xm-accent-8 h1,
.xm-module-accent.xm-accent-8 h2,
.xm-module-accent.xm-accent-8 h3{
  color:#be185d !important;
}
.xm-module-accent.xm-accent-8 th{
  background:#ffd9ea !important;
}

/* 模块标题更明显 */
.xm-module-accent > h1:first-child,
.xm-module-accent > h2:first-child,
.xm-module-accent > h3:first-child,
.xm-module-accent .xm-page-title{
  font-weight:950 !important;
  margin-bottom:14px !important;
}

/* 模块内部小卡片也要有轻微边框，不要全部白成一片 */
.xm-module-accent .mini,
.xm-module-accent .metric,
.xm-module-accent .stat,
.xm-module-accent .kv,
.xm-module-accent .risk-card,
.xm-module-accent [class*="metric"],
.xm-module-accent [class*="stat"]{
  background:rgba(255,255,255,.86) !important;
  border:1px solid rgba(148,163,184,.28) !important;
  border-radius:14px !important;
  box-shadow:0 6px 16px rgba(15,23,42,.035) !important;
}

/* 表格还是保持清晰 */
.xm-module-accent table{
  background:#fff !important;
  border:1px solid rgba(148,163,184,.22) !important;
}

/* td 保持白底，否则数据表太花 */
.xm-module-accent td{
  background:#fff !important;
}

/* hover 稍微明显 */
.xm-module-accent tr:hover td{
  background:#f8fafc !important;
}

/* 首页统计卡不要被强制弄得太花 */
.stat.xm-module-accent{
  border-left-width:0 !important;
}

/* 登录页不参与 */
.login-card.xm-module-accent,
.login-side.xm-module-accent{
  border-left-width:0 !important;
  border-top-width:0 !important;
}

/* ===== IP管理模块紧凑版：一行显示 ===== */
.ip-manager-card{
  padding:18px 18px !important;
}

.ip-manager-card h2{
  margin:0 0 6px 0 !important;
  font-size:20px !important;
}

.ip-manager-card > p{
  margin:0 0 12px 0 !important;
  font-size:13px !important;
}

.ip-manager-card .stats-grid{
  display:grid !important;
  grid-template-columns:repeat(4, minmax(120px, 1fr)) !important;
  gap:10px !important;
  margin-top:8px !important;
}

.ip-manager-card .stat{
  min-height:74px !important;
  padding:12px 14px !important;
  border-radius:12px !important;
  box-shadow:none !important;
}

.ip-manager-card .stat .label{
  font-size:12px !important;
  margin-bottom:4px !important;
}

.ip-manager-card .stat .num{
  font-size:26px !important;
  line-height:1.05 !important;
  margin:0 !important;
}

.ip-manager-card .stat .desc{
  font-size:12px !important;
  margin-top:6px !important;
}

.ip-manager-card form.inline,
.ip-manager-card .inline{
  display:inline-flex !important;
  margin:0 !important;
}

.ip-manager-card button,
.ip-manager-card .btn{
  height:34px !important;
  padding:0 14px !important;
  font-size:13px !important;
  border-radius:9px !important;
}

.ip-manager-card > div[style*="margin-top:16px"]{
  margin-top:12px !important;
  display:flex !important;
  flex-wrap:wrap !important;
  gap:8px !important;
  align-items:center !important;
}

.ip-manager-card > div[style*="margin-top:14px"]{
  margin-top:10px !important;
}

.ip-manager-card #proxy_progress_bar{
  height:8px !important;
}

.ip-manager-card #proxy_progress_bar,
.ip-manager-card #proxy_progress_bar *{
  border-radius:999px !important;
}

.ip-manager-card div[style*="height:12px"]{
  height:8px !important;
}

.ip-manager-card .muted{
  font-size:12px !important;
}

@media (max-width: 1100px){
  .ip-manager-card .stats-grid{
    grid-template-columns:repeat(2, minmax(120px, 1fr)) !important;
  }
}

@media (max-width: 640px){
  .ip-manager-card .stats-grid{
    grid-template-columns:1fr !important;
  }
}
