/* ============================================
   汇友之家统一覆盖层 v1.0
   在各插件CSS之后加载，将所有插件样式统一到"深海鎏金"主题
   主色：#1B3A5F / 鎏金：#C9A84C / 边框：#E2E8F0
   ============================================ */

/* ===== 1. 变量桥接：将插件自定义变量映射到 --hv-* ===== */
:root {
  /* economy_system --zb-* → --hv-* */
  --zb-primary: var(--hv-primary, #1B3A5F);
  --zb-primary-dark: var(--hv-primary-dark, #0F2A47);
  --zb-primary-light: var(--hv-primary-light, #2A5283);
  --zb-border: var(--hv-border, #E2E8F0);
  --zb-accent: var(--hv-accent, #C9A84C);
  --zb-danger: var(--hv-danger, #EF4444);
  --zb-success: var(--hv-success, #22C55E);
  --zb-warning: var(--hv-warning, #F59E0B);
  --zb-info: var(--hv-info, #3B82F6);
}

/* ===== 2. 经济系统钱包页统一 ===== */
.econ-wallet-card {
  border-radius: var(--hv-radius-lg) !important;
  box-shadow: var(--hv-shadow-sm) !important;
  border: 1px solid var(--hv-border) !important;
}
.econ-wallet-card-coin { border-top: 4px solid var(--hv-accent) !important; }
.econ-wallet-card-growth { border-top: 4px solid var(--hv-success) !important; }
.econ-wallet-card-gold { border-top: 4px solid #6366f1 !important; }
.econ-wallet-amount { color: var(--hv-text-title) !important; }
.econ-wallet-label { color: var(--hv-text-muted) !important; }
.econ-wallet-nav { border-bottom-color: var(--hv-border) !important; }
.econ-wallet-nav a { color: var(--hv-text-body) !important; }
.econ-wallet-nav a:hover { color: var(--hv-primary) !important; }
.econ-wallet-nav a.active { color: var(--hv-primary) !important; border-bottom-color: var(--hv-accent) !important; }

.econ-panel {
  border-radius: var(--hv-radius-lg) !important;
  border: 1px solid var(--hv-border) !important;
  box-shadow: var(--hv-shadow-sm) !important;
  background: var(--hv-bg-card) !important;
}
.econ-panel h3 { color: var(--hv-text-title) !important; }

/* 经济系统按钮 */
.econ-btn {
  border-radius: var(--hv-radius-md) !important;
  border-color: var(--hv-border) !important;
  color: var(--hv-text-body) !important;
  font-weight: 500;
  transition: var(--hv-transition);
}
.econ-btn:hover { border-color: var(--hv-primary) !important; color: var(--hv-primary) !important; background: var(--hv-primary-bg) !important; }
.econ-btn-primary {
  background: var(--hv-primary) !important;
  border-color: var(--hv-primary) !important;
  color: #fff !important;
  box-shadow: var(--hv-shadow-primary);
}
.econ-btn-primary:hover { background: var(--hv-primary-dark) !important; transform: translateY(-1px); }

/* 经济系统表单 */
.econ-input {
  border-radius: var(--hv-radius-md) !important;
  border-color: var(--hv-border) !important;
  color: var(--hv-text-title) !important;
}
.econ-input:focus {
  border-color: var(--hv-primary) !important;
  box-shadow: 0 0 0 3px var(--hv-primary-bg) !important;
}

/* 经济系统表格 */
.econ-table th {
  background: var(--hv-bg-hover) !important;
  color: var(--hv-text-muted) !important;
  border-bottom-color: var(--hv-primary) !important;
  font-weight: 600;
}
.econ-table td { border-bottom-color: var(--hv-border-light) !important; color: var(--hv-text-body) !important; }
.econ-table tbody tr:hover { background: var(--hv-bg-hover) !important; }

/* 经济系统统计卡片 */
.econ-stat-card {
  border-radius: var(--hv-radius-md) !important;
  border-color: var(--hv-border) !important;
}
.econ-stat-label { color: var(--hv-text-muted) !important; }
.econ-stat-value { color: var(--hv-text-title) !important; }

/* 经济系统充值卡片 */
.econ-recharge-card { border-radius: var(--hv-radius-md) !important; }
.econ-recharge-card.selected {
  border-color: var(--hv-primary) !important;
  background: var(--hv-primary-bg) !important;
  box-shadow: 0 2px 8px rgba(27,58,95,.15) !important;
}
.econ-recharge-amount { color: var(--hv-accent) !important; }

/* 经济系统状态标签 */
.econ-status-pending { background: var(--hv-warning-bg) !important; color: var(--hv-warning) !important; }
.econ-status-approved { background: var(--hv-primary-bg) !important; color: var(--hv-primary) !important; }
.econ-status-rejected { background: var(--hv-danger-bg) !important; color: var(--hv-danger) !important; }
.econ-status-paid { background: var(--hv-success-bg) !important; color: var(--hv-success) !important; }

/* 经济系统筛选栏 */
.econ-filter-bar select, .econ-filter-bar input[type=date] {
  border-radius: var(--hv-radius-sm) !important;
  border-color: var(--hv-border) !important;
}
.econ-filter { color: var(--hv-text-body) !important; }
.econ-filter:hover { color: var(--hv-primary) !important; border-color: var(--hv-primary) !important; }
.econ-filter-active { background: var(--hv-primary) !important; color: #fff !important; border-color: var(--hv-primary) !important; }

/* 经济系统分页 */
.econ-page { border-radius: var(--hv-radius-sm) !important; }
.econ-page-active { background: var(--hv-primary) !important; border-color: var(--hv-primary) !important; }

/* 经济系统提醒框 */
.econ-alert-success { background: var(--hv-success-bg) !important; color: var(--hv-success) !important; border-color: var(--hv-success) !important; }
.econ-alert-error { background: var(--hv-danger-bg) !important; color: var(--hv-danger) !important; border-color: var(--hv-danger) !important; }

/* ===== 3. 马甲管理后台统一 ===== */
.alt-nav-tabs { border-bottom-color: var(--hv-primary) !important; }
.alt-tab { color: var(--hv-text-body) !important; }
.alt-tab:hover { background: var(--hv-primary-bg) !important; color: var(--hv-primary) !important; }
.alt-tab.active { background: var(--hv-primary) !important; color: #fff !important; border-radius: var(--hv-radius-sm) var(--hv-radius-sm) 0 0 !important; }
.alt-content {
  border-radius: 0 var(--hv-radius-md) var(--hv-radius-md) var(--hv-radius-md) !important;
  border-color: var(--hv-border) !important;
  box-shadow: var(--hv-shadow-sm) !important;
}
.alt-stat-bar strong { color: var(--hv-primary) !important; }

/* 马甲管理按钮 */
.alt-btn {
  border-radius: var(--hv-radius-sm) !important;
  border-color: var(--hv-border) !important;
  color: var(--hv-text-body) !important;
  transition: var(--hv-transition);
}
.alt-btn:hover { border-color: var(--hv-primary) !important; color: var(--hv-primary) !important; background: var(--hv-primary-bg) !important; }
.alt-btn-primary, .alt-btn-primary:hover {
  background: var(--hv-primary) !important;
  border-color: var(--hv-primary) !important;
  color: #fff !important;
}
.alt-btn-danger, .alt-btn-danger:hover {
  background: var(--hv-danger) !important;
  border-color: var(--hv-danger) !important;
  color: #fff !important;
}

/* ===== 4. Discuz 后台通用美化 ===== */
/* 后台标签导航 */
.econ-tab-nav {
  display: flex;
  gap: 2px;
  border-bottom: 2px solid var(--hv-primary);
  margin-bottom: 16px;
  flex-wrap: wrap;
}
.econ-tab {
  padding: 8px 16px;
  text-decoration: none;
  color: var(--hv-text-body);
  border: 1px solid transparent;
  border-bottom: none;
  border-radius: var(--hv-radius-sm) var(--hv-radius-sm) 0 0;
  font-size: 13px;
  transition: var(--hv-transition);
}
.econ-tab:hover { background: var(--hv-primary-bg); color: var(--hv-primary); }
.econ-tab-active {
  background: var(--hv-primary);
  color: #fff !important;
  font-weight: 600;
}
.econ-tab-content {
  background: #fff;
  border: 1px solid var(--hv-border);
  border-top: none;
  border-radius: 0 var(--hv-radius-md) var(--hv-radius-md) var(--hv-radius-md);
  padding: 16px;
}

/* 后台统计卡片 */
.econ-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 12px;
  margin-bottom: 16px;
}
.econ-card {
  background: #fff;
  border: 1px solid var(--hv-border);
  border-radius: var(--hv-radius-md);
  padding: 16px;
  text-align: center;
  box-shadow: var(--hv-shadow-sm);
  transition: var(--hv-transition);
}
.econ-card:hover { box-shadow: var(--hv-shadow-hover); }
.econ-card-mini { padding: 12px; }
.econ-card-label { font-size: 13px; color: var(--hv-text-muted); margin-bottom: 6px; }
.econ-card-value { font-size: 24px; font-weight: 700; color: var(--hv-text-title); }
.econ-card-sub { font-size: 12px; color: var(--hv-text-muted); margin-top: 4px; }
.econ-card-ok { color: var(--hv-success) !important; }
.econ-card-danger { color: var(--hv-danger) !important; }

/* 后台筛选标签 */
.econ-filter-bar {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  align-items: center;
  margin-bottom: 16px;
}
.econ-filter {
  padding: 5px 14px;
  border: 1px solid var(--hv-border);
  border-radius: var(--hv-radius-full);
  font-size: 13px;
  color: var(--hv-text-body);
  text-decoration: none;
  transition: var(--hv-transition);
}
.econ-filter:hover { border-color: var(--hv-primary); color: var(--hv-primary); }
.econ-filter-active {
  background: var(--hv-primary);
  color: #fff !important;
  border-color: var(--hv-primary);
  font-weight: 600;
}

/* 后台表格统一 */
.econ-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.econ-table th {
  background: var(--hv-bg-hover);
  color: var(--hv-text-muted);
  font-weight: 600;
  padding: 10px 12px;
  text-align: left;
  border-bottom: 2px solid var(--hv-primary);
  white-space: nowrap;
}
.econ-table td { padding: 8px 12px; border-bottom: 1px solid var(--hv-border-light); color: var(--hv-text-body); }
.econ-table tbody tr:hover { background: var(--hv-bg-hover); }

/* 后台 h3/h4 标题 */
.econ-tab-content h3 { color: var(--hv-text-title); border-bottom: 2px solid var(--hv-border); padding-bottom: 8px; }
.econ-tab-content h4 { color: var(--hv-primary); margin-top: 20px; }

/* ===== 5. 马甲选择器弹窗统一（使用 --hv-* 变量） ===== */
.alt-trigger {
  border-color: var(--hv-primary) !important;
  color: var(--hv-primary) !important;
  border-radius: var(--hv-radius-full) !important;
}
/* 注意：不覆盖 .alt-trigger:hover/.active 的 background，由 JS 动态设置人设颜色 */
.alt-modal-box { border-radius: var(--hv-radius-lg) !important; box-shadow: var(--hv-shadow-lg) !important; }
.alt-modal-header { border-bottom-color: var(--hv-border-light) !important; color: var(--hv-text-title) !important; }
.alt-card { border-radius: var(--hv-radius-md) !important; background: var(--hv-bg-hover) !important; }
.alt-card:hover { background: var(--hv-primary-bg) !important; border-color: var(--hv-primary) !important; }
.alt-card.active { background: var(--hv-primary-bg) !important; border-color: var(--hv-primary) !important; box-shadow: 0 2px 8px rgba(27,58,95,.15) !important; }
.alt-toast { border-radius: var(--hv-radius-full) !important; }
.alt-modal-search input { border-radius: var(--hv-radius-md) !important; border-color: var(--hv-border) !important; }
.alt-modal-search input:focus { border-color: var(--hv-primary) !important; box-shadow: 0 0 0 3px var(--hv-primary-bg) !important; }

/* ===== 6. Discuz 原生表单/按钮深度统一 ===== */
/* 统一 Discuz 原生按钮 (.pn / .pnc) */
.pn, .pn:hover {
  border-radius: var(--hv-radius-md) !important;
  transition: var(--hv-transition);
}
.pnc, .pnc:hover {
  background: var(--hv-primary) !important;
  color: #fff !important;
}
.pnc:hover { background: var(--hv-primary-dark) !important; transform: translateY(-1px); }

/* 统一 Discuz 原生表单输入 */
.pg select, .pg input[type=text], .pg input[type=password] {
  border-radius: var(--hv-radius-md) !important;
  border-color: var(--hv-border) !important;
}

/* 统一 Discuz 卡片 (.bm) */
.bm { border-radius: var(--hv-radius-lg); overflow: hidden; }
.bm .bm_h { background: var(--hv-bg-hover); border-bottom: 1px solid var(--hv-border); }
.bm .bm_h h2 { color: var(--hv-text-title); }

/* 统一 Discuz 表格 */
.bm table.dt th { background: var(--hv-bg-hover); color: var(--hv-text-muted); border-bottom-color: var(--hv-primary); }
.bm table.dt td { border-bottom-color: var(--hv-border-light); }

/* ===== 7. 个人中心页面美化 ===== */
#ct.ct2_a .mn .bm { border: 1px solid var(--hv-border); box-shadow: var(--hv-shadow-sm); margin-bottom: 16px; }
#ct.ct2_a .sd .bm { border: 1px solid var(--hv-border); box-shadow: var(--hv-shadow-sm); margin-bottom: 16px; border-radius: var(--hv-radius-lg); overflow: hidden; }

/* ===== 8. 响应式补充 ===== */
@media (max-width: 768px) {
  .econ-cards { grid-template-columns: repeat(2, 1fr); }
  .econ-tab-nav { overflow-x: auto; flex-wrap: nowrap; }
  .econ-tab { white-space: nowrap; }
  .econ-table { font-size: 12px; }
  .econ-table th, .econ-table td { padding: 6px 4px; }
  .alt-modal-box { width: 94vw !important; }
  .alt-modal-grid { grid-template-columns: repeat(3, 1fr) !important; }
}

@media (max-width: 480px) {
  .econ-cards { grid-template-columns: 1fr; }
  .alt-modal-grid { grid-template-columns: repeat(2, 1fr) !important; }
}
