/* ============================================================
   掌柜ERP · 未来科技皮肤（FUTURE / HUD）
   深空底 + 霓虹青蓝 + 玻璃面板 + 发光边框
   ============================================================ */

:root {
  --bg-0: #04060c;
  --bg-1: #070b14;
  --panel: rgba(13, 20, 33, .72);
  --panel-solid: #0d1421;
  --panel-2: rgba(18, 27, 43, .82);
  --line: rgba(86, 177, 255, .16);
  --line-strong: rgba(56, 189, 248, .42);
  --cyan: #22d3ee;
  --cyan-2: #06b6d4;
  --blue: #3b82f6;
  --violet: #818cf8;
  --green: #34d399;
  --amber: #fbbf24;
  --rose: #fb7185;
  --text: #dbe7f5;
  --text-2: #93a6bd;
  --text-3: #5f7189;
  --radius: 14px;
  --radius-sm: 10px;
  --glow-cyan: 0 0 0 1px rgba(34, 211, 238, .22), 0 0 24px rgba(34, 211, 238, .12);
  --glow-soft: 0 10px 30px rgba(2, 8, 20, .55);
  --font: "Inter", "PingFang SC", "HarmonyOS Sans SC", "Microsoft YaHei UI", "Microsoft YaHei", system-ui, sans-serif;
  --mono: "JetBrains Mono", "Cascadia Mono", Consolas, "Courier New", monospace;
}

html { -webkit-font-smoothing: antialiased; }
body {
  font-family: var(--font) !important;
  color: var(--text) !important;
  background:
    radial-gradient(1100px 600px at 12% -10%, rgba(34, 211, 238, .10), transparent 60%),
    radial-gradient(900px 520px at 100% 0%, rgba(129, 140, 248, .10), transparent 55%),
    radial-gradient(800px 500px at 50% 120%, rgba(59, 130, 246, .08), transparent 60%),
    var(--bg-0) !important;
  background-attachment: fixed !important;
  font-size: 14px;
  letter-spacing: .15px;
  min-height: 100vh;
}
/* 科技网格 + 扫描线 */
body::before {
  content: "";
  position: fixed; inset: 0; pointer-events: none; z-index: 0;
  background-image:
    linear-gradient(rgba(86, 177, 255, .045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(86, 177, 255, .045) 1px, transparent 1px);
  background-size: 44px 44px;
  -webkit-mask-image: radial-gradient(circle at 50% 20%, #000 10%, transparent 78%);
  mask-image: radial-gradient(circle at 50% 20%, #000 10%, transparent 78%);
}
body::after {
  content: "";
  position: fixed; inset: 0; pointer-events: none; z-index: 0;
  background: repeating-linear-gradient(180deg, rgba(255, 255, 255, .014) 0 1px, transparent 1px 3px);
  opacity: .5;
}
.main-content { position: relative; z-index: 1; }

/* ---------- 文字 ---------- */
h1, h2, h3, h4, h5, h6 { color: #eaf3ff; font-weight: 600; letter-spacing: .3px; }
h1 { font-size: 21px; } h2 { font-size: 19px; } h3 { font-size: 16.5px; }
.text-muted, small, .small { color: var(--text-3) !important; }
.text-dark { color: var(--text) !important; }
a { color: var(--cyan); text-decoration: none; }
a:hover { color: #67e8f9; text-shadow: 0 0 12px rgba(34, 211, 238, .55); }
hr { border-color: var(--line); opacity: 1; }
strong, b { color: #eaf3ff; }

/* ---------- 侧边栏 ---------- */
.sidebar {
  background: linear-gradient(180deg, rgba(10, 16, 27, .96), rgba(6, 10, 18, .98)) !important;
  border-right: 1px solid var(--line) !important;
  width: 238px !important;
  padding: 14px 12px !important;
  box-shadow: 1px 0 0 rgba(34, 211, 238, .06), 8px 0 40px rgba(0, 0, 0, .45);
  backdrop-filter: blur(10px);
}
.sidebar h5 {
  padding: 4px 10px 16px !important;
  margin-bottom: 8px !important;
  border-bottom: 1px solid var(--line) !important;
  position: relative;
}
.sidebar h5::after {
  content: ""; position: absolute; left: 10px; bottom: -1px; width: 46px; height: 2px;
  background: linear-gradient(90deg, var(--cyan), transparent);
  box-shadow: 0 0 12px var(--cyan);
}
.sidebar h5 .sidebar-logo { height: 26px !important; filter: brightness(0) invert(1) drop-shadow(0 0 8px rgba(34, 211, 238, .6)); }
.sidebar .nav { gap: 3px; }
.sidebar .nav-link {
  color: var(--text-2) !important;
  padding: 9px 12px !important;
  border-radius: 9px !important;
  font-size: 13.5px;
  display: flex; align-items: center; gap: 10px;
  border: 1px solid transparent;
  transition: all .16s ease;
}
.sidebar .nav-link i { width: 18px; font-size: 15px; margin-right: 0 !important; opacity: .85; }
.sidebar .nav-link:hover {
  color: #dff6ff !important;
  background: rgba(34, 211, 238, .07) !important;
  border-color: rgba(34, 211, 238, .22);
}
.sidebar .nav-link.active {
  color: #041018 !important;
  background: linear-gradient(120deg, var(--cyan), #38bdf8) !important;
  border-color: transparent;
  font-weight: 600;
  box-shadow: 0 0 18px rgba(34, 211, 238, .45), inset 0 0 0 1px rgba(255, 255, 255, .25);
}
.sidebar .submenu .nav-link {
  padding: 7px 12px 7px 40px !important;
  font-size: 13px;
  color: var(--text-2) !important;
}
.sidebar .submenu .nav-link.active {
  color: var(--cyan) !important;
  background: rgba(34, 211, 238, .10) !important;
  border-color: rgba(34, 211, 238, .28);
  box-shadow: inset 2px 0 0 var(--cyan);
  font-weight: 500;
}
.sidebar .collapse-icon { opacity: .5; }

/* ---------- 顶部栏 ---------- */
.top-bar {
  background: linear-gradient(90deg, rgba(12, 19, 32, .9), rgba(9, 15, 26, .78)) !important;
  border: 1px solid var(--line) !important;
  border-radius: var(--radius) !important;
  padding: 9px 14px !important;
  margin: -2px 0 18px !important;
  box-shadow: var(--glow-soft);
  backdrop-filter: blur(10px);
}
.top-bar::after {
  content: ""; position: absolute; left: 18px; right: 18px; bottom: -1px; height: 1px;
  background: linear-gradient(90deg, transparent, rgba(34, 211, 238, .55), transparent);
}
.top-bar { position: relative; }
.top-bar .page-heading { color: #eaf3ff; font-size: 15px; font-weight: 600; display: flex; align-items: center; gap: 8px; }
.top-bar .icon-btn {
  width: 30px; height: 30px; border-radius: 9px;
  background: rgba(34, 211, 238, .06); border: 1px solid var(--line);
  color: var(--text-2); display: inline-flex; align-items: center; justify-content: center;
  transition: all .16s ease;
}
.top-bar .icon-btn:hover { color: var(--cyan); border-color: var(--line-strong); box-shadow: 0 0 14px rgba(34, 211, 238, .3); }
.top-bar .text-muted { color: var(--text-3) !important; }
.top-bar .rounded-circle, .top-bar .avatar { box-shadow: 0 0 0 2px rgba(34, 211, 238, .3); }

/* ---------- 卡片 / 玻璃面板 ---------- */
.card {
  background: var(--panel) !important;
  border: 1px solid var(--line) !important;
  border-radius: var(--radius) !important;
  box-shadow: var(--glow-soft);
  backdrop-filter: blur(12px);
  color: var(--text);
  transition: box-shadow .2s ease, transform .2s ease, border-color .2s ease;
  position: relative;
  overflow: hidden;
}
.card::before {
  content: ""; position: absolute; top: 0; left: 12%; right: 12%; height: 1px;
  background: linear-gradient(90deg, transparent, rgba(34, 211, 238, .7), transparent);
}
.card:hover {
  border-color: var(--line-strong) !important;
  box-shadow: 0 0 0 1px rgba(34, 211, 238, .18), 0 14px 40px rgba(2, 8, 20, .6), 0 0 30px rgba(34, 211, 238, .10);
  transform: translateY(-1px);
}
.card-header {
  background: transparent !important;
  border-bottom: 1px solid var(--line) !important;
  color: #eaf3ff !important;
  font-weight: 600; font-size: 14.5px;
  letter-spacing: .4px;
}
.card-body { color: var(--text); }
.card h3, .card .display-6, .card .fs-3, .card .fs-4 {
  font-family: var(--mono);
  color: #eafcff;
  text-shadow: 0 0 18px rgba(34, 211, 238, .45);
  font-weight: 600;
  letter-spacing: .5px;
}
.bg-white, .bg-light, .bg-body, .bg-body-tertiary { background: var(--panel) !important; color: var(--text) !important; }
.border { border-color: var(--line) !important; }
.border-bottom, .border-top, .border-start, .border-end { border-color: var(--line) !important; }
.shadow-sm, .shadow { box-shadow: var(--glow-soft) !important; }

/* ---------- 按钮 ---------- */
.btn {
  border-radius: var(--radius-sm) !important;
  font-size: 13.5px; font-weight: 500;
  padding: 7px 15px;
  transition: all .16s ease;
  letter-spacing: .3px;
}
.btn-primary {
  background: linear-gradient(120deg, var(--cyan-2), #38bdf8) !important;
  border: 1px solid rgba(34, 211, 238, .6) !important;
  color: #041018 !important;
  font-weight: 600;
  box-shadow: 0 0 16px rgba(34, 211, 238, .35);
}
.btn-primary:hover, .btn-primary:focus {
  filter: brightness(1.08);
  box-shadow: 0 0 26px rgba(34, 211, 238, .6);
  color: #041018 !important;
}
.btn-outline-primary { color: var(--cyan) !important; border-color: var(--line-strong) !important; background: rgba(34, 211, 238, .04) !important; }
.btn-outline-primary:hover { background: rgba(34, 211, 238, .14) !important; box-shadow: 0 0 18px rgba(34, 211, 238, .32); color: #a5f3fc !important; }
.btn-outline-secondary { color: var(--text-2) !important; border-color: var(--line) !important; background: rgba(255, 255, 255, .02) !important; }
.btn-outline-secondary:hover { color: #eaf3ff !important; border-color: var(--line-strong) !important; background: rgba(34, 211, 238, .08) !important; }
.btn-outline-info { color: #67e8f9 !important; border-color: rgba(34, 211, 238, .35) !important; }
.btn-outline-info:hover { background: rgba(34, 211, 238, .12) !important; }
.btn-outline-warning { color: var(--amber) !important; border-color: rgba(251, 191, 36, .35) !important; }
.btn-outline-warning:hover { background: rgba(251, 191, 36, .12) !important; }
.btn-outline-danger { color: var(--rose) !important; border-color: rgba(251, 113, 133, .35) !important; }
.btn-outline-danger:hover { background: rgba(251, 113, 133, .12) !important; }
.btn-light, .btn-secondary { background: rgba(255, 255, 255, .06) !important; border-color: var(--line) !important; color: var(--text) !important; }
.btn-link { color: var(--text-2) !important; }
.btn-link:hover { color: var(--cyan) !important; }
.btn-success { background: linear-gradient(120deg, #2563EB, #3B82F6) !important; border-color: rgba(52, 211, 153, .5) !important; color: #03130d !important; }
.btn-danger { background: linear-gradient(120deg, #e11d48, #fb7185) !important; border-color: rgba(251, 113, 133, .5) !important; color: #1a0208 !important; }

/* ---------- 表单 ---------- */
.form-control, .form-select {
  background: rgba(8, 14, 24, .85) !important;
  border: 1px solid var(--line) !important;
  color: var(--text) !important;
  border-radius: var(--radius-sm) !important;
  padding: 8px 12px;
  font-size: 13.5px;
  box-shadow: none !important;
  transition: border-color .16s ease, box-shadow .16s ease;
}
.form-control::placeholder { color: var(--text-3) !important; }
.form-control:focus, .form-select:focus {
  border-color: var(--cyan) !important;
  box-shadow: 0 0 0 3px rgba(34, 211, 238, .16), 0 0 18px rgba(34, 211, 238, .18) !important;
  background: rgba(10, 18, 30, .95) !important;
}
.form-select option { background: #0b1420; color: var(--text); }
.form-label { color: var(--text-2); font-size: 13px; font-weight: 500; }
.input-group-text { background: rgba(255, 255, 255, .04) !important; border-color: var(--line) !important; color: var(--text-2) !important; border-radius: var(--radius-sm); }
.form-check-input { background-color: rgba(255, 255, 255, .08); border-color: var(--line-strong); }
.form-check-input:checked { background-color: var(--cyan); border-color: var(--cyan); }

/* ---------- 表格 ---------- */
.table { font-size: 13.5px; color: var(--text) !important; --bs-table-bg: transparent; --bs-table-color: var(--text); }
.table > :not(caption) > * > * {
  padding: 11px 14px;
  border-bottom-color: rgba(86, 177, 255, .10) !important;
  background: transparent !important;
  color: var(--text) !important;
  vertical-align: middle;
}
.table thead th {
  background: rgba(34, 211, 238, .05) !important;
  color: #9fd8e8 !important;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 1px;
  text-transform: uppercase;
  border-bottom: 1px solid var(--line-strong) !important;
  white-space: nowrap;
}
.table tbody tr { transition: background .14s ease; }
.table tbody tr:hover > * { background: rgba(34, 211, 238, .06) !important; }
.table > tbody > tr > td strong, .table > tbody > tr > td b { color: #eafcff !important; }
.table-striped > tbody > tr:nth-of-type(odd) > * { background: rgba(255, 255, 255, .015) !important; }
.table-primary > * > * { background: rgba(34, 211, 238, .10) !important; color: #a5f3fc !important; }
.table-responsive { border-radius: var(--radius); }
.table .btn-sm { min-width: 30px; height: 28px; padding: 0 6px; border-radius: 8px !important; display: inline-flex; align-items: center; justify-content: center; }

/* ---------- 徽标 ---------- */
.badge {
  border-radius: 7px !important;
  font-weight: 500;
  padding: .34em .62em;
  font-size: 11.5px;
  letter-spacing: .4px;
  border: 1px solid transparent;
}
.badge.bg-success, .badge.text-bg-success { background: rgba(52, 211, 153, .14) !important; color: #6ee7b7 !important; border-color: rgba(52, 211, 153, .3); }
.badge.bg-warning, .badge.text-bg-warning { background: rgba(251, 191, 36, .14) !important; color: #fcd34d !important; border-color: rgba(251, 191, 36, .3); }
.badge.bg-danger, .badge.text-bg-danger { background: rgba(251, 113, 133, .14) !important; color: #fda4af !important; border-color: rgba(251, 113, 133, .3); }
.badge.bg-secondary, .badge.text-bg-secondary { background: rgba(148, 163, 184, .14) !important; color: #cbd5e1 !important; border-color: rgba(148, 163, 184, .3); }
.badge.bg-info, .badge.text-bg-info { background: rgba(34, 211, 238, .14) !important; color: #67e8f9 !important; border-color: rgba(34, 211, 238, .3); }
.badge.bg-primary, .badge.text-bg-primary { background: rgba(34, 211, 238, .16) !important; color: #a5f3fc !important; border-color: rgba(34, 211, 238, .35); }

/* ---------- 提示条 ---------- */
.alert {
  border-radius: var(--radius-sm);
  border: 1px solid var(--line);
  background: var(--panel-2) !important;
  color: var(--text) !important;
  font-size: 13.5px;
  backdrop-filter: blur(8px);
}
.alert-warning { border-color: rgba(251, 191, 36, .35) !important; background: rgba(251, 191, 36, .08) !important; color: #fcd34d !important; }
.alert-success { border-color: rgba(52, 211, 153, .35) !important; background: rgba(52, 211, 153, .08) !important; color: #6ee7b7 !important; }
.alert-danger { border-color: rgba(251, 113, 133, .35) !important; background: rgba(251, 113, 133, .08) !important; color: #fda4af !important; }
.alert-info { border-color: rgba(34, 211, 238, .35) !important; background: rgba(34, 211, 238, .08) !important; color: #67e8f9 !important; }

/* ---------- 下拉 / 弹窗 / 标签页 / 分页 ---------- */
.dropdown-menu {
  background: #0b1420 !important;
  border: 1px solid var(--line) !important;
  border-radius: 12px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, .6), 0 0 0 1px rgba(34, 211, 238, .08);
  color: var(--text);
  padding: 6px;
  font-size: 13.5px;
}
.dropdown-item { color: var(--text-2); border-radius: 8px; padding: 7px 10px; }
.dropdown-item:hover, .dropdown-item:focus { background: rgba(34, 211, 238, .10) !important; color: #dff6ff; }
.modal-content { background: #0a1220 !important; border: 1px solid var(--line-strong) !important; border-radius: 16px; color: var(--text); box-shadow: 0 30px 80px rgba(0, 0, 0, .7), 0 0 40px rgba(34, 211, 238, .12); }
.modal-header, .modal-footer { border-color: var(--line) !important; }
.modal-backdrop.show { opacity: .72; }
.nav-tabs { border-bottom-color: var(--line); }
.nav-tabs .nav-link { color: var(--text-2) !important; border: 0 !important; border-radius: 9px 9px 0 0; }
.nav-tabs .nav-link.active { color: var(--cyan) !important; background: transparent !important; border-bottom: 2px solid var(--cyan) !important; text-shadow: 0 0 14px rgba(34, 211, 238, .6); }
.page-link { background: rgba(255, 255, 255, .03); border-color: var(--line); color: var(--text-2); border-radius: 8px !important; margin: 0 2px; }
.page-link:hover { background: rgba(34, 211, 238, .1); color: var(--cyan); border-color: var(--line-strong); }
.page-item.active .page-link { background: linear-gradient(120deg, var(--cyan-2), #38bdf8) !important; border-color: transparent !important; color: #041018 !important; font-weight: 600; }
.list-group-item { background: transparent !important; border-color: var(--line) !important; color: var(--text); }
.progress { background: rgba(255, 255, 255, .06) !important; border-radius: 999px; height: 8px; }
.progress-bar { background: linear-gradient(90deg, var(--cyan-2), #38bdf8) !important; box-shadow: 0 0 14px rgba(34, 211, 238, .5); }
kbd { background: rgba(34, 211, 238, .10); color: #a5f3fc; border: 1px solid rgba(34, 211, 238, .3); border-radius: 6px; }

/* 滚动条 */
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: rgba(56, 189, 248, .28); border-radius: 999px; border: 2px solid transparent; background-clip: padding-box; }
::-webkit-scrollbar-thumb:hover { background: rgba(34, 211, 238, .45); background-clip: padding-box; }

/* 页脚 */
footer, .footer { border-top: 1px solid var(--line); color: var(--text-3); font-size: 12.5px; }

/* 手机适配 */
@media (max-width: 768px) {
  .main-content { margin-left: 0; padding: 14px 14px 60px; }
  .sidebar { position: static !important; width: 100% !important; min-height: auto !important; }
  .table > :not(caption) > * > * { padding: 9px 10px; }
  .top-bar { margin: 0 0 14px !important; }
}

/* ============================================================
   兼容各页面自定义类（kpi-card / todo-card / tile / panel ...）
   ============================================================ */
.kpi-card, .todo-card, .tile, .stat-row, .card-table, .panel, .panel-body,
.panel-head, .error-card, .filter-card, .search-bar, .toolbar,
.table-wrap, .table-container, .list-panel, .detail-panel, .form-section {
  background: var(--panel-2) !important;
  border: 1px solid var(--line) !important;
  color: var(--text) !important;
  border-radius: var(--radius) !important;
  box-shadow: var(--glow-soft);
  backdrop-filter: blur(10px);
}
.kpi-card:hover, .todo-card:hover, .tile:hover {
  border-color: var(--line-strong) !important;
  box-shadow: 0 0 0 1px rgba(34, 211, 238, .16), 0 12px 34px rgba(2, 8, 20, .55), 0 0 26px rgba(34, 211, 238, .10);
}
.kpi-card .kpi-label, .kpi-card .kpi-title, .kpi-card small, .todo-card small { color: var(--text-3) !important; }
.kpi-card .kpi-value, .kpi-card .value, .kpi-card h3, .kpi-card strong, .todo-card .count {
  font-family: var(--mono) !important;
  color: #eafcff !important;
  text-shadow: 0 0 16px rgba(34, 211, 238, .45);
}
.kpi-card i, .todo-card i, .stat-row i, .tile i { color: var(--cyan) !important; }
.dash-title, .page-title, .panel-head, .section-title, .card-title {
  color: #eaf3ff !important;
  font-weight: 600;
  letter-spacing: .3px;
}
.dash-title::after { content: ""; }
.page-subtitle, .dash-sub, .section-desc, .hint { color: var(--text-3) !important; }
h1, h2, h3, h4, h5, h6, .fs-5, .fs-4 { color: #eaf3ff !important; }
strong, b, .fw-bold, .fw-semibold { color: #eaf3ff; }
.container-fluid, .row, .col, .col-12 { color: var(--text); }

/* 打印/单据页面保持浅色（否则打出来是黑的） */
.print-wrapper, .print-wrapper *, .print-table, .print-table *,
.doc-table, .doc-table *, .doc-head, .doc-head *, .foot-row, .sign-row,
.info-grid, .info-row, .company-line, .doc-logo {
  background: #fff !important;
  color: #111 !important;
  border-color: #bbb !important;
  text-shadow: none !important;
  box-shadow: none !important;
}

/* 输入框类的通用覆盖（部分页面用了 style 宽度） */
input, textarea, select { color-scheme: dark; }

/* KPI 图标光晕 */
.kpi-icon {
  display: inline-flex; align-items: center; justify-content: center;
  width: 44px; height: 44px; border-radius: 12px;
  border: 1px solid var(--line);
  background: rgba(34, 211, 238, .10) !important;
  color: var(--cyan) !important;
  box-shadow: 0 0 18px rgba(34, 211, 238, .18), inset 0 0 12px rgba(34, 211, 238, .08);
}
.kpi-icon i { font-size: 19px; }
.kpi-icon.blue  { background: rgba(34, 211, 238, .12) !important; color: #67e8f9 !important; box-shadow: 0 0 18px rgba(34, 211, 238, .22); }
.kpi-icon.green { background: rgba(52, 211, 153, .12) !important; color: #6ee7b7 !important; box-shadow: 0 0 18px rgba(52, 211, 153, .20); }
.kpi-icon.amber { background: rgba(251, 191, 36, .12) !important; color: #fcd34d !important; box-shadow: 0 0 18px rgba(251, 191, 36, .20); }
.kpi-icon.red   { background: rgba(251, 113, 133, .12) !important; color: #fda4af !important; box-shadow: 0 0 18px rgba(251, 113, 133, .20); }
.kpi-icon.purple { background: rgba(129, 140, 248, .12) !important; color: #a5b4fc !important; }
.kpi-value { color: #eafcff !important; }

/* 表头容器 */
.table thead, thead.table-dark, .table-dark thead, .table > thead {
  background: rgba(34, 211, 238, .05) !important;
}
.table > thead > tr > th { border-bottom: 1px solid var(--line-strong) !important; }
.table-hover > tbody > tr:hover > * { background: rgba(34, 211, 238, .06) !important; }
.table-striped > tbody > tr:nth-of-type(odd) > * { background: rgba(255, 255, 255, .012) !important; }
.table-dark, .table-dark > :not(caption) > * > * { --bs-table-bg: transparent; background: transparent !important; color: var(--text) !important; }

/* ============================================================
   预览弹窗 & 右键菜单 可读性修复
   ============================================================ */
/* 预览弹窗里的单据表格：跟随暗色主题 */
.modal .doc-table, .modal .doc-table * {
  background: transparent !important;
  color: var(--text) !important;
  border-color: var(--line) !important;
  text-shadow: none !important;
}
.modal .doc-table thead th {
  background: rgba(34, 211, 238, .07) !important;
  color: #9fd8e8 !important;
  border-bottom: 1px solid var(--line-strong) !important;
}
.modal .doc-table tr.doc-total td {
  background: rgba(34, 211, 238, .10) !important;
  color: #eafcff !important;
  font-weight: 600;
}
.modal .doc-sum, .modal .doc-sum * { background: transparent !important; color: var(--text) !important; }
.modal .doc-sum span { color: var(--text-2) !important; }
.modal .doc-sum b { color: #eafcff !important; }
.modal .doc-sum .final span, .modal .doc-sum .final b { color: var(--cyan) !important; }

/* 预览弹窗里的浅色文字标签 */
.modal .text-muted, .modal label.text-muted, .modal .small.text-muted {
  color: var(--text-3) !important;
}
.modal h6, .modal .modal-title { color: #eaf3ff !important; border-color: var(--line) !important; }
.modal .border-bottom { border-color: var(--line) !important; }

/* 右键菜单（自定义 #contextMenu，原为白底 + 继承浅色文字 → 看不见） */
#contextMenu {
  background: #0b1420 !important;
  color: var(--text) !important;
  border: 1px solid var(--line-strong) !important;
  box-shadow: 0 18px 50px rgba(0, 0, 0, .65) !important;
  border-radius: 10px !important;
  padding: 6px !important;
}
#contextMenu > div {
  color: var(--text) !important;
  padding: 7px 10px !important;
  border-radius: 7px;
}
#contextMenu > div:hover { background: rgba(34, 211, 238, .12) !important; color: #dff6ff !important; }

/* 预览弹窗标签再亮一点 */
.modal .text-muted, .modal label.text-muted, .modal .small.text-muted { color: #9fb0c4 !important; }

/* ============================================================
   预览弹窗：内容区改白底黑字（像纸质单据），彻底解决看不清
   ============================================================ */
.modal .modal-body,
.modal #previewContent {
  background: #ffffff !important;
  color: #111111 !important;
  border-radius: 10px;
}
.modal .modal-body *,
.modal #previewContent * {
  color: #111111 !important;
  background-color: transparent !important;
  border-color: #c8cdd6 !important;
  text-shadow: none !important;
}
.modal .modal-body label,
.modal .modal-body .text-muted,
.modal .modal-body .small,
.modal #previewContent label,
.modal #previewContent .text-muted {
  color: #5b6678 !important;
}
.modal .modal-body h6,
.modal #previewContent h6 {
  color: #17202b !important;
  border-bottom: 1px solid #dfe3ea !important;
  font-weight: 600;
}
/* 明细表 */
.modal .doc-table,
.modal .doc-table * {
  border-color: #b9c0cb !important;
  color: #111 !important;
  background: transparent !important;
}
.modal .doc-table thead th {
  background: #f2f5f9 !important;
  color: #17202b !important;
  font-weight: 600 !important;
  border-color: #b9c0cb !important;
}
.modal .doc-table tr.doc-total td {
  background: #f7f9fc !important;
  color: #111 !important;
  font-weight: 600 !important;
}
.modal .doc-table td.num { text-align: right; }
/* 汇总块 */
.modal .doc-sum,
.modal .doc-sum * { background: transparent !important; color: #17202b !important; }
.modal .doc-sum span { color: #5b6678 !important; }
.modal .doc-sum b { color: #111 !important; }
.modal .doc-sum .final span, .modal .doc-sum .final b { color: #c01f2b !important; }
/* 状态徽标保留彩色 */
.modal .badge { border: none !important; }
.modal .badge.bg-success { background: #e7f6ec !important; color: #17803d !important; }
.modal .badge.bg-warning { background: #fff7e6 !important; color: #a15c00 !important; }
.modal .badge.bg-danger  { background: #fdecee !important; color: #b21f2b !important; }
.modal .badge.bg-secondary { background: #eef1f5 !important; color: #5b6678 !important; }
.modal .badge.bg-info { background: #e8f3fd !important; color: #0a6bb5 !important; }
/* 弹窗底部按钮在白底上 */
.modal .modal-footer { background: #fff !important; border-top: 1px solid #e5e8ee !important; }
.modal .modal-footer .btn { color: #1a2433 !important; }
.modal .modal-footer .btn-outline-secondary { border-color: #ccd3dd !important; }

/* ============================================================
   修复：弹窗被遮罩盖住（.main-content 的 z-index 层叠上下文导致）
   ============================================================ */
body.modal-open .main-content { z-index: auto !important; }
.modal { z-index: 1055 !important; }
.modal-backdrop { z-index: 1050 !important; }

/* ==========================================================================
   全局字号统一（正文 14px），表头 / 导航 / 按钮 放大
   ========================================================================== */

/* 正文与表格统一 14px */
body,
.table,
.table > tbody > tr > td,
.form-control,
.form-select,
.dropdown-item,
.list-group-item,
.modal-body,
.alert,
.card-body { font-size: 14px !important; }

/* 表头略小但字距加大、内边距加大，看起来更清楚 */
.table thead th {
    font-size: 13.5px !important;
    letter-spacing: 1.2px !important;
    padding: 13px 14px !important;
}

/* 侧边栏导航 */
.sidebar .nav-link {
    font-size: 14.5px !important;
    padding: 10px 14px !important;
}
.sidebar .submenu .nav-link {
    font-size: 14px !important;
    padding: 9px 14px !important;
}
.sidebar .nav-link i { font-size: 16px !important; }
.sidebar .brand-name { font-size: 15px !important; }

/* 按钮 */
.btn { font-size: 14px !important; }
.btn-sm { font-size: 13px !important; }

/* 表单标签 */
.form-label { font-size: 13.5px !important; }

/* 顶部标题 */
.top-bar .page-heading { font-size: 16px !important; }
.page-title { font-size: 17px !important; }
.card-header h5, .card-header h4 { font-size: 15.5px !important; }

/* 分页 */
.page-link { font-size: 14px !important; }

/* 徽标与小结文字 */
.badge { font-size: 12.5px !important; }
.small, small { font-size: 13px !important; }

/* ==========================================================================
   LIGHT THEME —— 浅色模式（html[data-theme="light"]）
   ========================================================================== */
html[data-theme="light"] {
    --bg-0: #f4f6fa;
    --bg-1: #eef2f8;
    --panel: rgba(255, 255, 255, .96);
    --panel-solid: #ffffff;
    --panel-2: rgba(248, 250, 253, .98);
    --line: rgba(15, 23, 42, .10);
    --line-strong: rgba(15, 23, 42, .18);
    --cyan: #0891b2;
    --cyan-2: #0e7490;
    --blue: #2563eb;
    --violet: #6366f1;
    --green: #059669;
    --amber: #d97706;
    --rose: #e11d48;
    --text: #1a2436;
    --text-2: #4a5a70;
    --text-3: #7b8a9e;
    --glow-soft: 0 8px 24px rgba(15, 23, 42, .08);
    --glow-cyan: 0 0 0 1px rgba(8, 145, 178, .18), 0 4px 16px rgba(8, 145, 178, .08);
}

html[data-theme="light"] body {
    background: #f4f6fa !important;
    color: var(--text) !important;
}
html[data-theme="light"] body::before { display: none; }

/* 侧边栏 */
html[data-theme="light"] .sidebar {
    background: #ffffff !important;
    border-right: 1px solid var(--line);
    box-shadow: 2px 0 12px rgba(15, 23, 42, .04);
}
html[data-theme="light"] .sidebar h5,
html[data-theme="light"] .sidebar .nav-link { color: #334155 !important; }
html[data-theme="light"] .sidebar .nav-link:hover { background: rgba(8, 145, 178, .08) !important; color: #0e7490 !important; }
html[data-theme="light"] .sidebar .nav-link.active {
    background: linear-gradient(120deg, #0891b2, #0ea5e9) !important;
    color: #fff !important;
    box-shadow: 0 4px 14px rgba(8, 145, 178, .25);
}
html[data-theme="light"] .sidebar .submenu .nav-link { color: #64748b !important; }
html[data-theme="light"] .sidebar .submenu .nav-link.active {
    background: rgba(8, 145, 178, .12) !important;
    color: #0e7490 !important;
    box-shadow: none;
}
html[data-theme="light"] .sidebar h5 .sidebar-logo { filter: none; }

/* 顶栏 */
html[data-theme="light"] .top-bar {
    background: rgba(255, 255, 255, .96) !important;
    border-bottom: 1px solid var(--line);
    box-shadow: 0 2px 10px rgba(15, 23, 42, .05);
}
html[data-theme="light"] .top-bar::after { display: none; }
html[data-theme="light"] .top-bar .page-heading { color: #1a2436 !important; }
html[data-theme="light"] .top-bar .icon-btn { background: rgba(15, 23, 42, .04); color: #475569; border-color: var(--line); }
html[data-theme="light"] .top-bar .icon-btn:hover { color: #0891b2; box-shadow: none; }
html[data-theme="light"] .user-chip .user-meta b { color: #1a2436; }
html[data-theme="light"] .user-chip .user-meta small { color: #7b8a9e; }

/* 卡片与面板 */
html[data-theme="light"] .card,
html[data-theme="light"] .card-table,
html[data-theme="light"] .stk-card,
html[data-theme="light"] .gp-card,
html[data-theme="light"] .fin-card,
html[data-theme="light"] .rep-card,
html[data-theme="light"] .stk-panel,
html[data-theme="light"] .gp-panel,
html[data-theme="light"] .fin-panel,
html[data-theme="light"] .rep-panel,
html[data-theme="light"] .panel {
    background: #ffffff !important;
    border-color: var(--line) !important;
    box-shadow: 0 2px 10px rgba(15, 23, 42, .05) !important;
}
html[data-theme="light"] .page-title,
html[data-theme="light"] .card-header h5,
html[data-theme="light"] .stk-panel-head,
html[data-theme="light"] .gp-panel-head,
html[data-theme="light"] .fin-panel-head,
html[data-theme="light"] .rep-panel-head { color: #1a2436 !important; border-color: var(--line) !important; }

/* 表格 */
html[data-theme="light"] .table thead th {
    background: #f1f5f9 !important;
    color: #475569 !important;
    border-bottom: 1px solid var(--line-strong) !important;
}
html[data-theme="light"] .table > :not(caption) > * > * {
    border-bottom-color: var(--line) !important;
    color: #1a2436 !important;
}
html[data-theme="light"] .table tbody tr:hover > * { background: rgba(8, 145, 178, .05) !important; }
html[data-theme="light"] .dtl-scroll thead th,
html[data-theme="light"] .stk-scroll thead th,
html[data-theme="light"] .flt-scroll thead th,
html[data-theme="light"] .tk-scroll thead th {
    background: #f1f5f9 !important;
    color: #475569 !important;
}
html[data-theme="light"] .dtl-scroll tfoot .dtl-foot td,
html[data-theme="light"] .stk-scroll tfoot .stk-foot td {
    background: #e2e8f0 !important;
    color: #1a2436 !important;
    box-shadow: 0 -2px 6px rgba(15, 23, 42, .08);
}

/* 表单 */
html[data-theme="light"] .form-control,
html[data-theme="light"] .form-select {
    background: #ffffff !important;
    border-color: #cbd5e1 !important;
    color: #1a2436 !important;
}
html[data-theme="light"] .form-control:focus,
html[data-theme="light"] .form-select:focus {
    border-color: #0891b2 !important;
    box-shadow: 0 0 0 3px rgba(8, 145, 178, .12) !important;
}
html[data-theme="light"] .form-label { color: #475569 !important; }
html[data-theme="light"] input[type="month"],
html[data-theme="light"] input[type="date"] { color-scheme: light; }

/* 弹窗 */
html[data-theme="light"] .modal-content {
    background: #ffffff !important;
    border-color: var(--line) !important;
    color: #1a2436 !important;
    box-shadow: 0 20px 50px rgba(15, 23, 42, .18) !important;
}
html[data-theme="light"] .modal-title { color: #1a2436 !important; }
html[data-theme="light"] .modal-body { background: transparent !important; color: #1a2436 !important; }
html[data-theme="light"] .modal .modal-body,
html[data-theme="light"] .modal .modal-body * { color: #1a2436 !important; border-color: #e2e8f0 !important; }
html[data-theme="light"] .modal .form-control,
html[data-theme="light"] .modal .form-select {
    background: #ffffff !important; color: #1a2436 !important; border-color: #cbd5e1 !important;
}
html[data-theme="light"] .modal-header,
html[data-theme="light"] .modal-footer { border-color: #e2e8f0 !important; background: transparent !important; }
html[data-theme="light"] .modal .btn-close { filter: none; }
html[data-theme="light"] .modal .btn-light {
    background: #f1f5f9 !important; border-color: #cbd5e1 !important; color: #475569 !important;
}

/* 文本颜色 */
html[data-theme="light"] .text-muted { color: #7b8a9e !important; }
html[data-theme="light"] .stk-label,
html[data-theme="light"] .gp-label,
html[data-theme="light"] .fin-label,
html[data-theme="light"] .rep-label { color: #7b8a9e !important; }
html[data-theme="light"] .stk-value,
html[data-theme="light"] .gp-value,
html[data-theme="light"] .fin-value,
html[data-theme="light"] .rep-value { color: #1a2436 !important; }
html[data-theme="light"] .stk-cat-row,
html[data-theme="light"] .fin-acc-row,
html[data-theme="light"] .fin-cat-row,
html[data-theme="light"] .cat-row { color: #475569 !important; border-color: #eef2f7 !important; }
html[data-theme="light"] .form-hint,
html[data-theme="light"] .tk-hint,
html[data-theme="light"] .gp-note,
html[data-theme="light"] .stk-note { color: #7b8a9e !important; }

/* 提示框 / 标签 */
html[data-theme="light"] .alert-success { background: #ecfdf5 !important; color: #047857 !important; border-color: #a7f3d0 !important; }
html[data-theme="light"] .alert-danger { background: #fef2f2 !important; color: #b91c1c !important; border-color: #fecaca !important; }
html[data-theme="light"] .change-pwd-user,
html[data-theme="light"] .stk-summary,
html[data-theme="light"] .flt,
html[data-theme="light"] .dtl-filter,
html[data-theme="light"] .stk-filter,
html[data-theme="light"] .gp-filter,
html[data-theme="light"] .tk-info,
html[data-theme="light"] .staff-summary,
html[data-theme="light"] .acc-summary {
    background: #f8fafc !important;
    border-color: var(--line) !important;
    color: #475569 !important;
}
html[data-theme="light"] .change-pwd-user b,
html[data-theme="light"] .stk-summary b,
html[data-theme="light"] .staff-summary b,
html[data-theme="light"] .tk-info b,
html[data-theme="light"] .acc-summary b { color: #1a2436 !important; }

/* 分页 */
html[data-theme="light"] .page-link {
    background: #ffffff !important;
    border-color: var(--line) !important;
    color: #475569 !important;
}
html[data-theme="light"] .page-item.active .page-link {
    background: #0891b2 !important;
    border-color: #0891b2 !important;
    color: #fff !important;
}

/* ===== 浅色模式：修正高强度亮色文字（深色主题专用色在浅底上不可见）===== */
html[data-theme="light"] h1, html[data-theme="light"] h2, html[data-theme="light"] h3,
html[data-theme="light"] h4, html[data-theme="light"] h5, html[data-theme="light"] h6,
html[data-theme="light"] strong, html[data-theme="light"] b,
html[data-theme="light"] .fw-bold, html[data-theme="light"] .fw-semibold,
html[data-theme="light"] .fs-5, html[data-theme="light"] .fs-4 { color: #1a2436 !important; }

html[data-theme="light"] .table > tbody > tr > td strong,
html[data-theme="light"] .table > tbody > tr > td b { color: #1a2436 !important; }

html[data-theme="light"] .kpi-value { color: #1a2436 !important; }
html[data-theme="light"] .table-primary > * > * { background: rgba(8,145,178,.08) !important; color: #0e7490 !important; }
html[data-theme="light"] .badge.bg-primary,
html[data-theme="light"] .badge.text-bg-primary { background: rgba(8,145,178,.12) !important; color: #0e7490 !important; }
html[data-theme="light"] .dropdown-item:hover,
html[data-theme="light"] .dropdown-item:focus { background: rgba(8,145,178,.08) !important; color: #0e7490 !important; }
html[data-theme="light"] kbd { background: #f1f5f9; color: #334155; border-color: #cbd5e1; }
html[data-theme="light"] .sidebar .nav-link.active,
html[data-theme="light"] .sidebar .nav-link.active * { color: #fff !important; }

/* 首页统计卡 / 快捷入口 / 系统状态 */
html[data-theme="light"] .stat-card,
html[data-theme="light"] .kpi-card,
html[data-theme="light"] .todo-card,
html[data-theme="light"] .quick-item,
html[data-theme="light"] .status-item,
html[data-theme="light"] .mini-card {
    background: #ffffff !important;
    border-color: var(--line) !important;
    color: #1a2436 !important;
}
html[data-theme="light"] .stat-value,
html[data-theme="light"] .kpi-value,
html[data-theme="light"] .todo-count,
html[data-theme="light"] .quick-item span,
html[data-theme="light"] .quick-item div,
html[data-theme="light"] .status-item b,
html[data-theme="light"] .stat-label,
html[data-theme="light"] .todo-label { color: #1a2436 !important; }
html[data-theme="light"] .quick-item small,
html[data-theme="light"] .stat-label,
html[data-theme="light"] .todo-label { color: #64748b !important; }

/* 表格中带颜色的金额列保持可读 */
html[data-theme="light"] .table td .text-success,
html[data-theme="light"] .pos { color: #059669 !important; }
html[data-theme="light"] .table td .text-danger,
html[data-theme="light"] .neg { color: #dc2626 !important; }

/* 白底上的浅色边框/分隔线 */
html[data-theme="light"] .card-header,
html[data-theme="light"] .card-footer { border-color: var(--line) !important; }
html[data-theme="light"] hr { border-color: rgba(15,23,42,.10) !important; }

/* 登录页保持深色（有独立背景） */
html[data-theme="light"] body.login-page { background: linear-gradient(135deg, #17202E 0%, #223047 55%, #2C1B22 100%) !important; }

/* =========================================================
   KINHOYI「天秤座」主题（覆盖 theme-future.css）
   由 base.html 内联块 + 本文件末尾共同保证优先级
   ========================================================= */
/* =========================================================
   KINHOYI · 天秤座（Libra）主题
   设计取向：对称、留白、柔和暖调 + 墨蓝 + 淡金
   —— 覆盖层，放在 base.html 末尾，优先级最高
   ========================================================= */
:root {
    --lb-ink: #1B2233;          /* 侧栏墨蓝 */
    --lb-ink-2: #232B3F;
    --lb-gold: #C7A96B;         /* 淡金点缀 */
    --lb-gold-soft: #F3EAD7;
    --lb-jade: #2563EB;         /* 主色（蓝） */
    --lb-jade-soft: #E7F1EE;
    --lb-paper: #FAF8F4;        /* 暖白底 */
    --lb-card: #FFFFFF;
    --lb-line: #EAE4D8;
    --lb-line-2: #F2EDE4;
    --lb-text: #232A36;
    --lb-text-2: #6B7280;
    --lb-text-3: #9AA1AC;
    --lb-radius: 16px;
    --lb-radius-sm: 10px;
    --lb-shadow: 0 2px 10px rgba(27, 34, 51, .05);
    --lb-shadow-lg: 0 10px 30px rgba(27, 34, 51, .10);
    --lb-sidebar-w: 248px;
    --lb-header-h: 62px;

    /* 兼容旧变量 */
    --brand: #2563EB;
    --brand-dark: #245745;
    --brand-soft: #E7F1EE;
    --ink-1: #1B2233;
    --text-1: #232A36;
    --text-2: #6B7280;
    --text-3: #9AA1AC;
    --line: #EAE4D8;
    --line-soft: #F2EDE4;
    --bg: #FAF8F4;
    --surface: #FFFFFF;
    --radius: 16px;
    --radius-sm: 10px;
    --shadow-sm: 0 2px 10px rgba(27, 34, 51, .05);
    --shadow-md: 0 10px 30px rgba(27, 34, 51, .10);
    --sidebar-w: 248px;
    --header-h: 62px;
}

html[data-theme] html, html[data-theme] body {
    background: var(--lb-paper) !important;
    color: var(--lb-text) !important;
    font-family: "PingFang SC", "Microsoft YaHei", "HarmonyOS Sans SC", "Segoe UI", sans-serif !important;
    font-size: 14px;
    letter-spacing: .2px;
    -webkit-font-smoothing: antialiased;
}

/* ============ 侧边栏：墨蓝 + 淡金 ============ */
html[data-theme] .sidebar {
    width: var(--lb-sidebar-w);
    background: linear-gradient(180deg, #1B2233 0%, #1F2940 100%) !important;
    border-right: none !important;
    box-shadow: 1px 0 0 rgba(199, 169, 107, .18);
    padding: 18px 0 26px !important;
}
html[data-theme] .sidebar h5 {
    padding: 4px 22px 18px !important;
    margin: 0 0 6px !important;
    border-bottom: 1px solid rgba(199, 169, 107, .22) !important;
}
.sidebar h5 .sidebar-logo { height: 26px; filter: brightness(1.15); }
.sidebar .nav { padding: 8px 12px !important; }
html[data-theme] .sidebar .nav-link {
    color: #C3CAD6 !important;
    padding: 10px 14px !important;
    margin-bottom: 3px !important;
    border-radius: 10px !important;
    font-size: .9rem !important;
    transition: all .18s ease !important;
}
html[data-theme] .sidebar .nav-link i {
    color: #7C8798 !important;
    width: 20px !important;
    margin-right: 10px !important;
    font-size: .95rem !important;
}
html[data-theme] .sidebar .nav-link:hover {
    background: rgba(255, 255, 255, .06) !important;
    color: #FFFFFF !important;
}
.sidebar .nav-link:hover i { color: var(--lb-gold) !important; }
html[data-theme] .sidebar .nav-link.active {
    background: rgba(199, 169, 107, .14) !important;
    color: #FFF6E2 !important;
    font-weight: 600 !important;
    box-shadow: inset 3px 0 0 var(--lb-gold) !important;
}
.sidebar .nav-link.active i { color: var(--lb-gold) !important; }
.sidebar .submenu .nav-link { font-size: .85rem !important; padding: 8px 14px 8px 34px !important; }
.sidebar hr { border-color: rgba(199, 169, 107, .2) !important; }
.sidebar .parent-menu .collapse-icon { color: #6D7889 !important; }

/* ============ 主内容 ============ */
html[data-theme] .main-content {
    margin-left: var(--lb-sidebar-w) !important;
    background: var(--lb-paper);
    min-height: 100vh;
    padding: 0 0 40px;
}
html[data-theme] .top-bar {
    height: var(--lb-header-h);
    background: rgba(255, 255, 255, .88) !important;
    backdrop-filter: saturate(1.2) blur(10px);
    border-bottom: 1px solid var(--lb-line) !important;
    padding: 0 26px !important;
    position: sticky;
    top: 0;
    z-index: 1030;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.page-heading { display: flex; align-items: center; gap: 10px; }
html[data-theme] #pageTitleDisplay {
    font-weight: 650 !important;
    font-size: 1.02rem !important;
    color: var(--lb-text) !important;
    letter-spacing: .5px;
}
html[data-theme] .icon-btn {
    width: 34px; height: 34px;
    border-radius: 10px;
    border: 1px solid var(--lb-line) !important;
    background: #FFFFFF !important;
    color: var(--lb-text-2) !important;
    display: inline-flex; align-items: center; justify-content: center;
    transition: .18s;
}
html[data-theme] .icon-btn:hover {
    background: var(--lb-jade-soft) !important;
    color: var(--lb-jade) !important;
    border-color: #CFE2DC !important;
}
.user-chip { display: flex; align-items: center; gap: 10px; }
html[data-theme] .user-chip .avatar {
    width: 34px; height: 34px; border-radius: 50%;
    background: linear-gradient(135deg, var(--lb-jade), #3E8A76) !important;
    color: #fff !important;
    display: inline-flex; align-items: center; justify-content: center;
    font-weight: 700; font-size: .85rem;
    box-shadow: 0 3px 10px rgba(37, 99, 235, .3);
}
.user-chip .user-meta b { font-weight: 600; color: var(--lb-text); }
.user-chip .user-meta .text-muted { color: var(--lb-text-3) !important; }

/* 内容容器：居中、对称留白 */
.main-content > .container-fluid,
html[data-theme] .main-content > .container {
    max-width: 1440px;
    margin: 0 auto;
    padding: 26px 28px 10px !important;
}

/* ============ 卡片 / 面板 ============ */
html[data-theme] .card, html[data-theme] .panel, html[data-theme] .stat-card, html[data-theme] .gp-card, html[data-theme] .imp-card {
    background: var(--lb-card) !important;
    border: 1px solid var(--lb-line) !important;
    border-radius: var(--lb-radius) !important;
    box-shadow: var(--lb-shadow) !important;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
html[data-theme] .card:hover, html[data-theme] .gp-card:hover, html[data-theme] .imp-card:hover {
    box-shadow: var(--lb-shadow-lg) !important;
    border-color: #E2D9C8 !important;
}
html[data-theme] .card-header {
    background: transparent !important;
    border-bottom: 1px solid var(--lb-line-2) !important;
    font-weight: 600;
    letter-spacing: .3px;
    padding: 14px 18px !important;
}
.card-body { padding: 18px !important; }

/* 页面标题 */
html[data-theme] .page-title, html[data-theme] h4.page-title, html[data-theme] h3.page-title {
    font-weight: 700 !important;
    letter-spacing: .6px;
    color: var(--lb-text) !important;
}
h4.page-title i { color: var(--lb-gold) !important; }

/* ============ 按钮 ============ */
html[data-theme] .btn {
    border-radius: 10px !important;
    font-weight: 550;
    letter-spacing: .2px;
    padding: .42rem .95rem;
    transition: all .16s ease;
}
html[data-theme] .btn-primary, html[data-theme] .btn-danger {
    background: var(--lb-jade) !important;
    border-color: var(--lb-jade) !important;
    color: #fff !important;
    box-shadow: 0 3px 10px rgba(37, 99, 235, .22);
}
html[data-theme] .btn-primary:hover, html[data-theme] .btn-danger:hover {
    background: #245745 !important;
    border-color: #245745 !important;
    transform: translateY(-1px);
}
html[data-theme] .btn-outline-primary, html[data-theme] .btn-outline-danger {
    color: var(--lb-jade) !important;
    border-color: #BFD8D1 !important;
    background: #fff !important;
}
html[data-theme] .btn-outline-primary:hover, html[data-theme] .btn-outline-danger:hover {
    background: var(--lb-jade-soft) !important;
    color: var(--lb-jade) !important;
    border-color: var(--lb-jade) !important;
}
html[data-theme] .btn-warning, html[data-theme] .btn-success {
    background: var(--lb-gold) !important;
    border-color: var(--lb-gold) !important;
    color: #3A2F17 !important;
}
.btn-warning:hover, .btn-success:hover { background: #B99A57 !important; border-color: #B99A57 !important; }
html[data-theme] .btn-light {
    background: #FFFFFF !important;
    border: 1px solid var(--lb-line) !important;
    color: var(--lb-text-2) !important;
}
.btn-light:hover { background: var(--lb-line-2) !important; }
html[data-theme] .btn-secondary {
    background: #EEF1F4 !important;
    border-color: #E3E8EE !important;
    color: #48505D !important;
}

/* ============ 表单 ============ */
html[data-theme] .form-control, html[data-theme] .form-select {
    border-radius: 10px !important;
    border: 1px solid var(--lb-line) !important;
    background: #FFFFFF !important;
    color: var(--lb-text) !important;
    padding: .48rem .8rem;
    transition: .16s;
}
html[data-theme] .form-control:focus, html[data-theme] .form-select:focus {
    border-color: var(--lb-jade) !important;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, .12) !important;
}
.form-label { color: var(--lb-text-2); font-size: .85rem; font-weight: 550; }
html[data-theme] .input-group-text {
    background: var(--lb-line-2) !important;
    border: 1px solid var(--lb-line) !important;
    color: var(--lb-text-2) !important;
    border-radius: 10px !important;
}

/* ============ 表格 ============ */
html[data-theme] .table {
    --bs-table-bg: transparent;
    margin-bottom: 0;
    color: var(--lb-text);
}
html[data-theme] .table > :not(caption) > * > * {
    padding: .62rem .8rem;
    border-bottom-color: var(--lb-line-2) !important;
    background: transparent;
}
html[data-theme] .table thead th, html[data-theme] .table-dark th, html[data-theme] thead.table-dark th {
    background: #F7F4EE !important;
    color: #6A6F7A !important;
    font-size: .78rem;
    font-weight: 650;
    letter-spacing: .7px;
    text-transform: uppercase;
    border-bottom: 1px solid var(--lb-line) !important;
    white-space: nowrap;
}
html[data-theme] .table-striped > tbody > tr:nth-of-type(odd) > * {
    background: #FCFBF8 !important;
}
html[data-theme] .table-hover > tbody > tr:hover > * {
    background: var(--lb-jade-soft) !important;
}
html[data-theme] .table-responsive {
    border: 1px solid var(--lb-line);
    border-radius: var(--lb-radius);
    background: #fff;
    overflow: auto;
    box-shadow: var(--lb-shadow);
}

/* ============ 徽章 / 提示 ============ */
.badge { border-radius: 8px !important; font-weight: 600; letter-spacing: .3px; padding: .34em .6em; }
.badge.bg-success, .badge.text-bg-success { background: var(--lb-jade) !important; }
.badge.bg-warning, .badge.text-bg-warning { background: var(--lb-gold) !important; color: #3A2F17 !important; }
.badge.bg-danger, .badge.text-bg-danger { background: #C4605A !important; }
.badge.bg-secondary, .badge.text-bg-secondary { background: #EEF1F4 !important; color: #5B6472 !important; }
.alert { border-radius: 12px !important; border: 1px solid var(--lb-line) !important; }
.alert-success { background: #F0F7F4 !important; color: #2A6353 !important; border-color: #D5E8E1 !important; }
.alert-danger { background: #FDF2F1 !important; color: #A9443D !important; border-color: #F2D9D6 !important; }
.alert-warning { background: #FBF6EA !important; color: #8A6D2F !important; border-color: #EEE0C2 !important; }
.alert-info { background: #F1F5F9 !important; color: #47566B !important; border-color: #DCE5EE !important; }

/* ============ 弹窗 / 下拉 ============ */
html[data-theme] .modal-content {
    border: 1px solid var(--lb-line) !important;
    border-radius: 18px !important;
    box-shadow: 0 24px 60px rgba(27, 34, 51, .22) !important;
    background: #FFFFFF !important;
}
.modal-header, .modal-footer { border-color: var(--lb-line-2) !important; }
html[data-theme] .dropdown-menu {
    border: 1px solid var(--lb-line) !important;
    border-radius: 12px !important;
    box-shadow: 0 14px 34px rgba(27, 34, 51, .14) !important;
    padding: .35rem;
}
.dropdown-item { border-radius: 8px; padding: .45rem .7rem; }
.dropdown-item:hover { background: var(--lb-jade-soft) !important; color: var(--lb-jade) !important; }

/* ============ 分页 ============ */
html[data-theme] .pagination .page-link {
    border: 1px solid var(--lb-line) !important;
    color: var(--lb-text-2) !important;
    border-radius: 9px !important;
    margin: 0 3px;
    background: #fff !important;
}
html[data-theme] .pagination .page-item.active .page-link {
    background: var(--lb-jade) !important;
    border-color: var(--lb-jade) !important;
    color: #fff !important;
}

/* ============ 自动补全下拉 ============ */
html[data-theme] .autocomplete-dropdown {
    background: #fff !important;
    border: 1px solid var(--lb-line) !important;
    border-radius: 12px !important;
    box-shadow: 0 16px 40px rgba(27, 34, 51, .16) !important;
    overflow: hidden;
}
.autocomplete-item { padding: .5rem .75rem !important; border-bottom: 1px solid var(--lb-line-2) !important; }
.autocomplete-item:hover, .autocomplete-item.active { background: var(--lb-jade-soft) !important; }

/* ============ 首页卡片等 ============ */
.stat-value, .gp-value { font-weight: 700; letter-spacing: .3px; }
.stat-label, .gp-label { color: var(--lb-text-2) !important; font-size: .82rem; letter-spacing: .4px; }

/* ============ 深色模式（跟天秤座同一套，只是明暗反转） ============ */
html[data-theme="dark"] body,
html[data-theme="dark"] .main-content {
    background: #12161F !important;
    color: #D7DCE5 !important;
}
html[data-theme="dark"] .top-bar {
    background: rgba(24, 30, 42, .9) !important;
    border-bottom-color: #2A3242 !important;
}
html[data-theme="dark"] #pageTitleDisplay { color: #EAEFF7 !important; }
html[data-theme="dark"] .icon-btn {
    background: #1D2431 !important;
    border-color: #2C3444 !important;
    color: #A9B4C4 !important;
}
html[data-theme="dark"] .card,
html[data-theme="dark"] .gp-card,
html[data-theme="dark"] .imp-card,
html[data-theme="dark"] .table-responsive {
    background: #1A2130 !important;
    border-color: #2A3242 !important;
    box-shadow: none !important;
}
html[data-theme="dark"] .table thead th {
    background: #1F2736 !important;
    color: #98A6BA !important;
    border-bottom-color: #2A3242 !important;
}
html[data-theme="dark"] .table > :not(caption) > * > * {
    color: #D7DCE5 !important;
    border-bottom-color: #242C3B !important;
}
html[data-theme="dark"] .table-striped > tbody > tr:nth-of-type(odd) > * { background: #1C2433 !important; }
html[data-theme="dark"] .table-hover > tbody > tr:hover > * { background: rgba(199, 169, 107, .1) !important; }
html[data-theme="dark"] .form-control,
html[data-theme="dark"] .form-select {
    background: #1D2431 !important;
    border-color: #2C3444 !important;
    color: #E6EBF3 !important;
}
html[data-theme="dark"] .input-group-text { background: #1D2431 !important; border-color: #2C3444 !important; color: #98A6BA !important; }
html[data-theme="dark"] .modal-content { background: #1A2130 !important; border-color: #2A3242 !important; color: #E6EBF3 !important; }
html[data-theme="dark"] .modal-header, html[data-theme="dark"] .modal-footer { border-color: #2A3242 !important; }

/* 移动端：侧栏收起时内容占满 */
@media (max-width: 992px) {
    .main-content { margin-left: 0 !important; }
    .sidebar { transform: translateX(-100%); transition: transform .25s ease; }
    .sidebar.show { transform: translateX(0); }
    .main-content > .container-fluid { padding: 18px 14px 10px !important; }
}


/* ===== 天秤座主题 · 收尾微调 ===== */
html[data-theme] #sidebarNav { width: 248px !important; }
html[data-theme] .sidebar h5 .sidebar-logo {
    filter: invert(1) brightness(1.9) contrast(1.1) !important;
    height: 26px !important;
}
html[data-theme="light"] .sidebar .nav-link.active {
    background: rgba(199, 169, 107, .16) !important;
    color: #FFF3DA !important;
    box-shadow: inset 3px 0 0 #C7A96B !important;
}
html[data-theme="light"] .sidebar .nav-link.active i { color: #E4C98C !important; }
html[data-theme="light"] .sidebar .submenu .nav-link.active {
    background: rgba(199, 169, 107, .1) !important;
    color: #F0DDB6 !important;
    box-shadow: none !important;
}
/* 表格头暖色 */
html[data-theme="light"] .table thead th,
html[data-theme="light"] thead.table-dark th,
html[data-theme="light"] .table-dark th {
    background: #F6F2E9 !important;
    color: #7A7059 !important;
}
/* 页面主标题与顶栏统一 */
html[data-theme] h4.page-title {
    font-size: 1.22rem !important;
    margin-bottom: 14px !important;
}
html[data-theme] h4.page-title i { color: #C7A96B !important; }
/* 卡片描边更轻 */
html[data-theme="light"] .card,
html[data-theme="light"] .gp-card,
html[data-theme="light"] .imp-card {
    border-color: #EDE6D8 !important;
}
/* 顶栏标题字重 */
html[data-theme] #pageTitleDisplay { font-weight: 650 !important; letter-spacing: .4px; }

/* ===== 天秤座 · 亮面版（浅侧栏 / 白面板） ===== */
html[data-theme] #sidebarNav {
    background: linear-gradient(180deg, #FFFFFF 0%, #FBF8F2 100%) !important;
    box-shadow: 1px 0 0 #ECE5D7, 6px 0 24px rgba(27, 34, 51, .04) !important;
}
html[data-theme] .sidebar h5 {
    border-bottom: 1px solid #EFE9DC !important;
}
html[data-theme] .sidebar h5 .sidebar-logo {
    filter: none !important;
    height: 30px !important;
}
html[data-theme] .sidebar .nav-link {
    color: #4A5464 !important;
}
html[data-theme] .sidebar .nav-link i { color: #9AA3B2 !important; }
html[data-theme] .sidebar .nav-link:hover {
    background: #F5F1E8 !important;
    color: #1B2233 !important;
}
html[data-theme] .sidebar .nav-link:hover i { color: #2563EB !important; }
html[data-theme] .sidebar .nav-link.active {
    background: #EDF4F1 !important;
    color: #1F5D4C !important;
    box-shadow: inset 3px 0 0 #2563EB !important;
}
html[data-theme] .sidebar .nav-link.active i { color: #2563EB !important; }
html[data-theme] .sidebar .submenu .nav-link { color: #5E6979 !important; }
html[data-theme] .sidebar .submenu .nav-link.active {
    background: #F3F7F5 !important;
    color: #1F5D4C !important;
    box-shadow: none !important;
}
html[data-theme] .sidebar hr { border-color: #EFE9DC !important; }
html[data-theme] .sidebar .parent-menu .collapse-icon { color: #A8B0BD !important; }

/* 顶栏：纯白不透明，不再压暗 */
html[data-theme] .top-bar {
    background: rgba(255, 255, 255, .96) !important;
    border-bottom: 1px solid #EFE9DC !important;
    box-shadow: 0 1px 0 rgba(27, 34, 51, .02);
}
html[data-theme] .icon-btn {
    background: #FFFFFF !important;
    border: 1px solid #EAE4D8 !important;
    color: #5C6675 !important;
}
html[data-theme] .icon-btn:hover {
    background: #EDF4F1 !important;
    border-color: #CFE2DC !important;
    color: #2F6F5E !important;
}
/* 内容区更亮 */
html[data-theme] body,
html[data-theme] .main-content { background: #FBFAF7 !important; }
html[data-theme] .card,
html[data-theme] .gp-card,
html[data-theme] .imp-card,
html[data-theme] .table-responsive {
    background: #FFFFFF !important;
    border: 1px solid #EDE7DA !important;
    box-shadow: 0 1px 3px rgba(27, 34, 51, .04), 0 8px 22px rgba(27, 34, 51, .04) !important;
}
html[data-theme] .table thead th,
html[data-theme] thead.table-dark th,
html[data-theme] .table-dark th {
    background: #F8F5EE !important;
    color: #6E654F !important;
    border-bottom: 1px solid #EDE7DA !important;
}
html[data-theme] .table-striped > tbody > tr:nth-of-type(odd) > * { background: #FDFCF9 !important; }
html[data-theme] .table-hover > tbody > tr:hover > * { background: #F2F8F5 !important; }

/* ===== 深色顶栏（对齐参考设计） ===== */
html[data-theme] .top-bar {
    position: fixed !important;
    left: 0 !important; right: 0 !important; top: 0 !important;
    height: 56px !important;
    background: #1E2A44 !important;
    border-bottom: 1px solid rgba(255, 255, 255, .06) !important;
    box-shadow: 0 2px 12px rgba(15, 23, 42, .16) !important;
    padding: 0 22px !important;
    z-index: 1060 !important;
    backdrop-filter: none !important;
}
html[data-theme] .top-bar .page-heading { gap: 8px; }
html[data-theme] #pageTitleDisplay { color: #E8EDF6 !important; font-weight: 600 !important; font-size: .96rem !important; }
html[data-theme] .top-bar .icon-btn {
    background: rgba(255, 255, 255, .08) !important;
    border: 1px solid rgba(255, 255, 255, .12) !important;
    color: #D6DFEC !important;
}
html[data-theme] .top-bar .icon-btn:hover {
    background: rgba(255, 255, 255, .18) !important;
    color: #FFFFFF !important;
}
html[data-theme] .top-bar .user-chip .user-meta b { color: #F2F6FC !important; }
html[data-theme] .top-bar .user-chip .text-muted { color: #A8B4C6 !important; }
html[data-theme] .top-bar .avatar {
    background: linear-gradient(135deg, #3B82F6, #1D4ED8) !important;
}
html[data-theme] .sidebar {
    top: 56px !important;
    height: calc(100vh - 56px) !important;
}
html[data-theme] .sidebar h5 { display: none !important; }
html[data-theme] .main-content { padding-top: 56px !important; }
html[data-theme] .main-content > .container-fluid,
html[data-theme] .main-content > .container {
    padding-top: 20px !important;
}
@media (max-width: 992px) {
    html[data-theme] .top-bar { padding: 0 12px !important; }
    html[data-theme] .tb-brand span { display: none; }
    html[data-theme] .sidebar { top: 56px; }
}

/* ===== 参考图配色（冷色 · 金融蓝） ===== */
html[data-theme] {
    --brand: #2563EB;
    --brand-dark: #1D4ED8;
    --brand-soft: #EAF2FE;
    --lb-jade: #2563EB;
    --lb-jade-soft: #EAF2FE;
    --lb-gold: #14B8A6;
    --lb-gold-soft: #E6F7F4;
    --lb-line: #E6EBF2;
    --lb-line-2: #F1F5F9;
    --lb-paper: #F5F7FA;
}
html[data-theme] body, html[data-theme] .main-content { background: #F5F7FA !important; }
/* 内容面板 */
html[data-theme] .card, html[data-theme] .gp-card, html[data-theme] .imp-card,
html[data-theme] .table-responsive, html[data-theme] .cp-card, html[data-theme] .kpi {
    background: #FFFFFF !important;
    border: 1px solid #E6EBF2 !important;
    border-radius: 12px !important;
    box-shadow: 0 1px 2px rgba(16, 24, 40, .04) !important;
}
html[data-theme] .table thead th, html[data-theme] thead.table-dark th, html[data-theme] .table-dark th {
    background: #F8FAFC !important;
    color: #64748B !important;
    border-bottom: 1px solid #E6EBF2 !important;
    letter-spacing: .6px;
}
html[data-theme] .table-striped > tbody > tr:nth-of-type(odd) > * { background: #FCFDFE !important; }
html[data-theme] .table-hover > tbody > tr:hover > * { background: #F1F6FE !important; }
/* 按钮：蓝 */
html[data-theme] .btn-primary, html[data-theme] .btn-danger {
    background: #2563EB !important; border-color: #2563EB !important; color: #fff !important;
    box-shadow: 0 2px 6px rgba(37, 99, 235, .22);
}
html[data-theme] .btn-primary:hover, html[data-theme] .btn-danger:hover { background: #1D4ED8 !important; border-color: #1D4ED8 !important; }
html[data-theme] .btn-outline-primary, html[data-theme] .btn-outline-danger { color: #2563EB !important; border-color: #BFD3F7 !important; }
html[data-theme] .btn-outline-primary:hover, html[data-theme] .btn-outline-danger:hover { background: #EAF2FE !important; border-color: #2563EB !important; }
html[data-theme] .btn-light { background: #fff !important; border: 1px solid #E6EBF2 !important; color: #475569 !important; }
/* 输入框 */
html[data-theme] .form-control, html[data-theme] .form-select { border-color: #E2E8F0 !important; border-radius: 8px !important; }
html[data-theme] .form-control:focus, html[data-theme] .form-select:focus {
    border-color: #2563EB !important; box-shadow: 0 0 0 3px rgba(37, 99, 235, .12) !important;
}
/* 侧栏：白底 + 蓝色选中 */
html[data-theme] #sidebarNav {
    background: #FFFFFF !important;
    box-shadow: 1px 0 0 #E6EBF2 !important;
}
html[data-theme] .sidebar .nav-link { color: #475569 !important; }
html[data-theme] .sidebar .nav-link i { color: #94A3B8 !important; }
html[data-theme] .sidebar .nav-link:hover { background: #F1F5F9 !important; color: #0F172A !important; }
html[data-theme] .sidebar .nav-link:hover i { color: #2563EB !important; }
html[data-theme] .sidebar .nav-link.active {
    background: #EAF2FE !important; color: #2563EB !important; box-shadow: none !important;
    font-weight: 650 !important;
}
html[data-theme] .sidebar .nav-link.active i { color: #2563EB !important; }
html[data-theme] .sidebar .submenu .nav-link { color: #64748B !important; }
html[data-theme] .sidebar .submenu .nav-link.active { background: #F3F7FF !important; color: #2563EB !important; box-shadow: none !important; }
html[data-theme] .sidebar hr { border-color: #EDF1F6 !important; }
/* 顶栏 */
html[data-theme] .top-bar { background: #16233A !important; }
/* 侧栏菜单间距加大 */
html[data-theme] .sidebar .nav { padding: 10px 12px !important; }
html[data-theme] .sidebar .nav-link {
    padding: 12px 14px !important;
    margin-bottom: 6px !important;
    font-size: .92rem !important;
    border-radius: 8px !important;
}
html[data-theme] .sidebar .submenu .nav-link { padding: 10px 12px 10px 34px !important; margin-bottom: 5px !important; }
html[data-theme] .sidebar .nav-item.parent-menu { margin-bottom: 2px; }
html[data-theme] .sidebar hr { margin: 14px 12px !important; }
/* 徽章/提示色 */
html[data-theme] .badge.bg-success, html[data-theme] .badge.text-bg-success { background: #16A34A !important; }
html[data-theme] .badge.bg-warning, html[data-theme] .badge.text-bg-warning { background: #F59E0B !important; color: #3F2A05 !important; }
html[data-theme] .badge.bg-danger, html[data-theme] .badge.text-bg-danger { background: #DC2626 !important; }

/* ===== 间距微调 ===== */
html[data-theme] .sidebar .nav-link {
    padding: 13px 15px !important;
    margin-bottom: 9px !important;
}
html[data-theme] .sidebar .submenu .nav-link {
    padding: 11px 13px 11px 36px !important;
    margin-bottom: 7px !important;
}
html[data-theme] .sidebar .nav { padding: 14px 12px !important; }
html[data-theme] .sidebar hr { margin: 16px 12px !important; }
html[data-theme] .main-content > .container-fluid,
html[data-theme] .main-content > .container { padding-top: 20px !important; }

/* ===== 侧栏一级菜单间距加大（只动这里） ===== */
html[data-theme] .sidebar .nav > .nav-item { margin-bottom: 6px; }
html[data-theme] .sidebar .nav > .nav-item > .nav-link {
    padding: 13px 15px !important;
    margin-bottom: 0 !important;
}
html[data-theme] .sidebar .nav > .nav-item.parent-menu { margin-bottom: 10px; }
html[data-theme] .sidebar .submenu .nav-link { margin-bottom: 6px !important; }

/* ===== 字号整体加大 + 菜单留白 ===== */
html[data-theme] body { font-size: 14px !important; }
html[data-theme] .main-content { font-size: 14px; }
html[data-theme] .table { font-size: 14px !important; }
html[data-theme] .table > :not(caption) > * > * { padding: .68rem .85rem !important; }
html[data-theme] .table thead th,
html[data-theme] thead.table-dark th,
html[data-theme] .table-dark th {
    font-size: 16px !important;
    font-weight: 650 !important;
    letter-spacing: .5px !important;
    text-transform: none !important;
}
html[data-theme] .form-control, html[data-theme] .form-select { font-size: 14px !important; }
html[data-theme] .btn { font-size: 14px !important; }
html[data-theme] .sidebar .nav-link { font-size: 15px !important; }
html[data-theme] .sidebar .submenu .nav-link { font-size: 14px !important; }
html[data-theme] h4.page-title { font-size: 1.3rem !important; }
html[data-theme] .card-header { font-size: 15px !important; }
html[data-theme] .form-label { font-size: .9rem !important; }
/* 首页和商品管理之间再多留白 */
html[data-theme] .sidebar > .nav > .nav-item:first-child { margin-bottom: 22px !important; }

/* ===== 顶栏加高、logo 放大 ===== */
html[data-theme] .top-bar { height: 64px !important; }
html[data-theme] .sidebar { top: 64px !important; height: calc(100vh - 64px) !important; }
html[data-theme] .main-content { padding-top: 64px !important; }
html[data-theme] .tb-brand img { height: 40px !important; width: auto; }
@media (max-width: 992px) {
    html[data-theme] .top-bar { height: 56px !important; }
    html[data-theme] .sidebar { top: 56px !important; height: calc(100vh - 56px) !important; }
    html[data-theme] .main-content { padding-top: 56px !important; }
    html[data-theme] .tb-brand img { height: 28px !important; }
}

/* ===== 侧栏对比度加强（文字更清楚） ===== */
html[data-theme] #sidebarNav {
    background: #F7F9FC !important;
    box-shadow: inset -1px 0 0 #E4EAF2 !important;
}
html[data-theme] .sidebar .nav-link {
    color: #1E293B !important;
    font-weight: 550 !important;
}
html[data-theme] .sidebar .nav-link i { color: #64748B !important; font-weight: 600; }
html[data-theme] .sidebar .nav-link:hover {
    background: #E9EFF7 !important;
    color: #0F172A !important;
}
html[data-theme] .sidebar .nav-link:hover i { color: #1D4ED8 !important; }
html[data-theme] .sidebar .nav-link.active {
    background: #DFEAFF !important;
    color: #1D4ED8 !important;
    box-shadow: inset 3px 0 0 #2563EB !important;
    font-weight: 700 !important;
}
html[data-theme] .sidebar .submenu .nav-link {
    color: #334155 !important;
    font-weight: 500 !important;
}
html[data-theme] .sidebar .submenu .nav-link.active {
    background: #E8F0FE !important;
    color: #1D4ED8 !important;
    font-weight: 650 !important;
}
html[data-theme] .sidebar .parent-menu .collapse-icon { color: #64748B !important; }
html[data-theme] .sidebar hr { border-color: #E4EAF2 !important; }

/* ===== 顶栏下留白加大（标题不被顶栏压到） ===== */
html[data-theme] .main-content { padding-top: 82px !important; }
html[data-theme] .main-content > .container-fluid,
html[data-theme] .main-content > .container { padding-top: 14px !important; }
@media (max-width: 992px) {
    html[data-theme] .main-content { padding-top: 72px !important; }
}

/* ===== 参考图导航栏样式 ===== */
html[data-theme] #sidebarNav {
    background: #FFFFFF !important;
    box-shadow: inset -1px 0 0 #E9EEF5 !important;
}
html[data-theme] .sidebar .nav { padding: 8px 0 !important; }
html[data-theme] .sidebar .nav > .nav-item { margin: 0 !important; }
html[data-theme] .sidebar .nav-link {
    color: #0F172A !important;
    font-size: 17px !important;
    font-weight: 600 !important;
    padding: 15px 18px 15px 22px !important;
    margin: 2px 0 !important;
    border-radius: 0 !important;
    gap: 4px;
    box-shadow: none !important;
    background: transparent !important;
    letter-spacing: .2px;
    line-height: 1.25;
}
html[data-theme] .sidebar .nav-link i {
    font-size: 22px !important;
    width: 26px !important;
    margin-right: 12px !important;
    color: #475569 !important;
}
html[data-theme] .sidebar .nav-link:hover {
    background: #F4F7FB !important;
    color: #0F172A !important;
}
html[data-theme] .sidebar .nav-link:hover i { color: #2563EB !important; }
html[data-theme] .sidebar .nav-link.active {
    background: #EFF4FF !important;
    color: #1D4ED8 !important;
    font-weight: 700 !important;
    box-shadow: inset 4px 0 0 #2563EB !important;
}
html[data-theme] .sidebar .nav-link.active i { color: #2563EB !important; }
html[data-theme] .sidebar .parent-menu .collapse-icon {
    font-size: 15px !important;
    color: #94A3B8 !important;
    margin-left: auto;
}
html[data-theme] .sidebar .submenu .nav-link {
    font-size: 15.5px !important;
    font-weight: 500 !important;
    color: #334155 !important;
    padding: 12px 18px 12px 58px !important;
    border-radius: 0 !important;
}
html[data-theme] .sidebar .submenu .nav-link.active {
    background: #F2F6FF !important;
    color: #1D4ED8 !important;
    box-shadow: inset 4px 0 0 #93C5FD !important;
}
html[data-theme] .sidebar hr { display: none !important; }
html[data-theme] .sidebar .parent-menu { margin: 0 !important; }
html[data-theme] .sidebar .nav > .nav-item.parent-menu { margin-bottom: 0 !important; }

/* ===== 子菜单间距收紧 ===== */
html[data-theme] .sidebar .submenu { padding: 2px 0 4px !important; margin: 0 !important; }
html[data-theme] .sidebar .submenu .nav { padding: 0 !important; }
html[data-theme] .sidebar .submenu .nav-link {
    padding: 8px 18px 8px 58px !important;
    margin: 0 !important;
    font-size: 15px !important;
    line-height: 1.5 !important;
    min-height: 0 !important;
}
html[data-theme] .sidebar .submenu .nav-item { margin: 0 !important; }
html[data-theme] .sidebar .submenu.show { margin: 2px 0 4px !important; }

/* ===== 修复：父菜单文字颜色 + 子菜单更紧凑 ===== */
html[data-theme] .sidebar .nav-link span { color: inherit !important; }
html[data-theme] .sidebar .nav-link.active span { color: #1D4ED8 !important; }
html[data-theme] .sidebar .nav-link:hover span { color: #0F172A !important; }
html[data-theme] .sidebar .submenu .nav-link,
html[data-theme] .sidebar .submenu .nav-link.active {
    border: none !important;
    box-shadow: none !important;
    background: transparent !important;
    color: #334155 !important;
    padding: 7px 18px 7px 58px !important;
    line-height: 1.45 !important;
}
html[data-theme] .sidebar .submenu .nav-link.active {
    background: #F2F6FF !important;
    color: #1D4ED8 !important;
    box-shadow: inset 4px 0 0 #93C5FD !important;
    font-weight: 650 !important;
}
html[data-theme] .sidebar .submenu .nav-item { margin: 0 !important; }
html[data-theme] .sidebar .submenu { padding: 0 0 4px !important; }

/* ===== 子菜单行高再压紧 ===== */
html[data-theme] .sidebar .submenu .nav-link {
    padding: 6px 18px 6px 58px !important;
    margin: 0 !important;
    line-height: 1.4 !important;
    font-size: 15px !important;
}
html[data-theme] .sidebar .submenu .nav-item,
html[data-theme] .sidebar .submenu li { margin: 0 !important; padding: 0 !important; }
html[data-theme] .sidebar .submenu .nav { gap: 0 !important; }
html[data-theme] .sidebar .submenu { padding: 0 0 2px !important; }
