/* ============================================================
   靖羽 ERP · Liquid Glass 暗色主题层 v1.1（2026-08-28 收窄作用域）
   设计源：用户规格（Apple Liquid Glass × M3 Expressive 暗色 ERP）
   规则：仅当 html[data-theme="dark"] 时生效；
   浅色为默认（theme-light.css），本层不再无条件 :root 覆盖。
   ============================================================ */

[data-theme="dark"] {
    /* 核心表面 */
    --erp-bg:#0B0F14; --erp-card:#11151C; --erp-side:#0D1117;
    --erp-hover:#161B24; --erp-row-hover:#1A1F2A;
    --erp-fg:#E8ECF1; --erp-mut:#8A95A8; --erp-dim:#5C6578; --erp-dis:#3A4150;
    --erp-muted:#161B24;
    --erp-bd:#1E2430; --erp-bd2:rgba(255,255,255,0.06);
    /* 品牌青蓝渐变 */
    --erp-primary:#2DD4BF;
    --erp-primary-grad:linear-gradient(90deg,#2DD4BF,#3B82F6);
    --erp-primary-ink:#062019;
    --erp-success:#22C55E; --erp-warn:#F59E0B; --erp-info:#60A5FA; --erp-danger:#EF4444;
    /* 兼容旧变量（全站引用处一键变暗） */
    --bg-body:#0B0F14; --bg-card:#11151C; --bg-sidebar:#0D1117; --bg-sidebar-hover:#161B24;
    --text-primary:#E8ECF1; --text-secondary:#8A95A8;
    --brand-primary:#2DD4BF; --brand-primary-dark:#14B8A6; --brand-accent:#3B82F6;
    --brand-success:#22C55E; --brand-danger:#EF4444; --brand-warning:#F59E0B;
    --radius:12px; --radius-sm:8px;
    --shadow-card:0 1px 2px rgba(0,0,0,.4);
    --shadow-float:0 4px 18px rgba(45,212,191,.22);
    --erp-glass:rgba(13,18,28,.78);
}

/* ---------- 全局 ---------- */
[data-theme="dark"] body { background: var(--erp-bg) !important; color: var(--text-primary) !important;
  font-family: Inter, -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", sans-serif; }
[data-theme="dark"] a { color: var(--erp-info); }
[data-theme="dark"] a:hover { color: #93C5FD; }
[data-theme="dark"] .text-primary { color: var(--erp-primary) !important; }
[data-theme="dark"] .text-muted { color: var(--erp-dim) !important; }
[data-theme="dark"] code { background: rgba(45,212,191,.10); color: #5EEAD4; }
[data-theme="dark"] hr { border-color: var(--erp-bd); }
[data-theme="dark"] .bg-light { background: var(--erp-hover) !important; }

/* ---------- 顶栏（玻璃） ---------- */
[data-theme="dark"] .navbar.app-topbar {
  background: rgba(11,15,20,.70) !important;
  backdrop-filter: blur(20px) saturate(150%) !important; -webkit-backdrop-filter: blur(20px) saturate(150%) !important;
  box-shadow: none !important; border-bottom: 1px solid rgba(255,255,255,0.06) !important;
}
[data-theme="dark"] .navbar .navbar-brand strong { color: var(--erp-fg) !important; }
[data-theme="dark"] .topbar-icon-btn { color: var(--erp-mut); }
[data-theme="dark"] .topbar-icon-btn:hover { background: var(--erp-hover); color: var(--erp-fg); }
[data-theme="dark"] .app-avatar { background: linear-gradient(135deg,#2DD4BF,#3B82F6); color:#062019; font-weight:700; }
[data-theme="dark"] .navbar .btn-warning { background: var(--erp-primary-grad); border: none; color: #062019; font-weight: 600; }

/* ---------- 侧边栏（solid） ---------- */
[data-theme="dark"] .sidebar, [data-theme="dark"] .app-sidebar { background: var(--erp-side) !important; border-right: 1px solid var(--erp-bd) !important; }
[data-theme="dark"] .sidebar .nav-link, [data-theme="dark"] .app-sidebar .nav-link { color: var(--erp-mut); border-radius: 8px; border-left: 3px solid transparent; }
[data-theme="dark"] .sidebar .nav-link:hover, [data-theme="dark"] .app-sidebar .nav-link:hover { color: var(--erp-fg); background: #131820; }
[data-theme="dark"] .sidebar .nav-link.active, [data-theme="dark"] .app-sidebar .nav-link.active {
  color: var(--erp-fg) !important; background: #131820 !important;
  border-left: 3px solid var(--erp-primary); box-shadow: none;
}
[data-theme="dark"] .sidebar .nav-link.active .bi, [data-theme="dark"] .app-sidebar .nav-link.active .bi { color: var(--erp-primary); }
[data-theme="dark"] .sidebar .nav-section, [data-theme="dark"] .app-sidebar .nav-section { color: var(--erp-dim); }

/* ---------- 卡片（solid） ---------- */
[data-theme="dark"] .card, [data-theme="dark"] .erp-card {
  background: var(--erp-card) !important;
  border: 1px solid var(--erp-bd) !important;
  border-radius: 12px; box-shadow: var(--shadow-card) !important;
  transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}
[data-theme="dark"] .card:hover { border-color: #262E3C; box-shadow: 0 4px 24px rgba(0,0,0,.35) !important; }
[data-theme="dark"] .card-header { background: transparent; border-bottom: 1px solid var(--erp-bd); color: var(--erp-fg); font-weight: 600; }
[data-theme="dark"] .stat-card { background: var(--erp-card) !important; }

/* ---------- 表格 ---------- */
[data-theme="dark"] .table { color: var(--text-primary) !important; --bs-table-color: #B4BCD0; --bs-table-bg: transparent;
  --bs-table-hover-bg: #1A1F2A; --bs-table-hover-color: #E8ECF1; }
[data-theme="dark"] .table thead th { color: #8A95A8 !important; background: #161B24 !important;
  border-bottom: 1px solid var(--erp-bd) !important; font-size: 12px; letter-spacing: .04em; }
[data-theme="dark"] .table td, [data-theme="dark"] .table th { border-color: rgba(255,255,255,0.05) !important; }
[data-theme="dark"] .table-hover tbody tr:hover { background: #1A1F2A !important; }
[data-theme="dark"] .table-light { background: #161B24 !important; color: #8A95A8 !important; }
[data-theme="dark"] .table-light thead th { background: #161B24 !important; color: #8A95A8 !important; }
[data-theme="dark"] table { --bs-table-bg: transparent; }

/* ---------- 按钮 ---------- */
[data-theme="dark"] .btn { font-weight: 500; border-radius: 8px; }
[data-theme="dark"] .btn-primary, [data-theme="dark"] .btn-primary:focus {
  background: var(--erp-primary-grad) !important; border: none !important; color: #062019 !important;
  font-weight: 600; box-shadow: var(--shadow-float);
}
[data-theme="dark"] .btn-primary:hover { filter: brightness(1.08); box-shadow: 0 6px 22px rgba(45,212,191,.30); }
[data-theme="dark"] .btn-outline-primary { color: var(--erp-primary) !important; border-color: rgba(45,212,191,.5) !important; background: transparent; }
[data-theme="dark"] .btn-outline-primary:hover { background: rgba(45,212,191,.10); }
[data-theme="dark"] .btn-secondary, [data-theme="dark"] .btn-outline-secondary { background: var(--erp-hover); border-color: var(--erp-bd); color: var(--text-primary); }
[data-theme="dark"] .btn-outline-secondary:hover { background: var(--erp-row-hover); color: var(--erp-fg); }
[data-theme="dark"] .btn-success { background: #22C55E; border: none; color: #052E12; font-weight: 600; }
[data-theme="dark"] .btn-warning { background: #F59E0B; border: none; color: #271500; font-weight: 600; }
[data-theme="dark"] .btn-danger, [data-theme="dark"] .btn-outline-danger { border-radius: 8px; }
[data-theme="dark"] .btn-light { background: var(--erp-hover); border-color: var(--erp-bd); color: var(--erp-fg); }

/* ---------- 徽标（pill + 软底） ---------- */
[data-theme="dark"] .badge { border-radius: 999px !important; font-weight: 600; padding: .35em .7em; }
[data-theme="dark"] .badge.bg-success { background: rgba(34,197,94,.14) !important; color: #4ADE80 !important; }
[data-theme="dark"] .badge.bg-warning { background: rgba(245,158,11,.14) !important; color: #FBBF24 !important; }
[data-theme="dark"] .badge.bg-info { background: rgba(96,165,250,.14) !important; color: #93C5FD !important; }
[data-theme="dark"] .badge.bg-danger { background: rgba(239,68,68,.14) !important; color: #F87171 !important; }
[data-theme="dark"] .badge.bg-secondary { background: rgba(255,255,255,.07) !important; color: #8A95A8 !important; }
[data-theme="dark"] .badge.bg-primary { background: rgba(45,212,191,.14) !important; color: #5EEAD4 !important; }

/* ---------- 表单 ---------- */
[data-theme="dark"] .form-control, [data-theme="dark"] .form-select, [data-theme="dark"] textarea.form-control {
  background: var(--erp-side) !important; color: var(--erp-fg) !important;
  border: 1px solid var(--erp-bd) !important; border-radius: 8px;
}
[data-theme="dark"] .form-control::placeholder { color: var(--erp-dis); }
[data-theme="dark"] .form-control:focus, [data-theme="dark"] .form-select:focus {
  background: var(--erp-side) !important; color: var(--erp-fg) !important;
  border-color: var(--erp-primary) !important;
  box-shadow: 0 0 0 3px rgba(45,212,191,.15) !important;
}
[data-theme="dark"] .form-select { background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%238A95A8' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"); }
[data-theme="dark"] .input-group-text { background: var(--erp-hover); border-color: var(--erp-bd); color: var(--erp-mut); }
[data-theme="dark"] .form-check-input { background-color: var(--erp-side); border-color: var(--erp-bd); }
[data-theme="dark"] .form-check-input:checked { background-color: var(--erp-primary); border-color: var(--erp-primary); }
[data-theme="dark"] .form-label { color: var(--erp-mut); }

/* ---------- 下拉 / 模态（玻璃浮层） ---------- */
[data-theme="dark"] .dropdown-menu {
  background: rgba(13,18,28,.92) !important; backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(255,255,255,0.08) !important; border-radius: 12px;
  box-shadow: 0 16px 48px rgba(0,0,0,.5) !important; padding: 4px;
}
[data-theme="dark"] .dropdown-item { color: var(--text-primary); border-radius: 8px; }
[data-theme="dark"] .dropdown-item:hover, [data-theme="dark"] .dropdown-item:focus { background: rgba(255,255,255,0.06); color: var(--erp-fg); }
[data-theme="dark"] .dropdown-divider { border-color: rgba(255,255,255,0.07); }
[data-theme="dark"] .modal-content {
  background: rgba(13,18,28,.92) !important; backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px);
  border: 1px solid rgba(255,255,255,0.08) !important; border-radius: 20px !important;
  box-shadow: 0 24px 80px rgba(0,0,0,.6) !important; color: var(--text-primary);
}
[data-theme="dark"] .modal-header, [data-theme="dark"] .modal-footer { border-color: rgba(255,255,255,0.06) !important; }
[data-theme="dark"] .btn-close { filter: invert(1) grayscale(1) brightness(1.6); }

/* ---------- Tabs / Pills / 分页 ---------- */
[data-theme="dark"] .nav-tabs { border-color: var(--erp-bd); }
[data-theme="dark"] .nav-tabs .nav-link { color: var(--erp-mut); border: none; border-bottom: 2px solid transparent; }
[data-theme="dark"] .nav-tabs .nav-link:hover { color: var(--erp-fg); border-bottom-color: rgba(45,212,191,.4); }
[data-theme="dark"] .nav-tabs .nav-link.active { color: var(--erp-primary) !important; background: transparent !important;
  border-bottom: 2px solid var(--erp-primary) !important; }
[data-theme="dark"] .nav-pills .nav-link { color: var(--erp-mut); }
[data-theme="dark"] .nav-pills .nav-link.active { background: rgba(45,212,191,.12) !important; color: var(--erp-primary) !important; }
[data-theme="dark"] .pagination .page-link { background: transparent; border-color: var(--erp-bd); color: var(--erp-mut); }
[data-theme="dark"] .pagination .page-link:hover { background: var(--erp-hover); color: var(--erp-fg); }
[data-theme="dark"] .pagination .page-item.active .page-link { background: var(--erp-primary); border-color: var(--erp-primary); color: #062019; font-weight: 600; }

/* ---------- Alerts（左条语义色，暗底） ---------- */
[data-theme="dark"] .alert { background: var(--erp-card) !important; color: var(--text-primary) !important;
  border: 1px solid var(--erp-bd) !important; border-left-width: 4px !important; border-radius: 10px; }
[data-theme="dark"] .alert-info { border-left-color: var(--erp-info) !important; }
[data-theme="dark"] .alert-success { border-left-color: var(--erp-success) !important; }
[data-theme="dark"] .alert-warning { border-left-color: var(--erp-warn) !important; }
[data-theme="dark"] .alert-danger, [data-theme="dark"] .alert-error { border-left-color: var(--erp-danger) !important; }
[data-theme="dark"] .alert .btn-close { filter: invert(1); }

/* ---------- 筛选栏 / 工具栏 ---------- */
[data-theme="dark"] .filter-bar { background: var(--erp-card) !important; border: 1px solid var(--erp-bd) !important; }

/* ---------- 统计卡 ---------- */
[data-theme="dark"] .card.text-center.border-primary, [data-theme="dark"] .card.text-center.border-info,
[data-theme="dark"] .card.text-center.border-success, [data-theme="dark"] .card.text-center.border-warning,
[data-theme="dark"] .card.text-center.border-danger, [data-theme="dark"] .card.text-center.border-secondary {
  background: var(--erp-card) !important; border: 1px solid var(--erp-bd) !important;
  border-left: 3px solid var(--brand-primary) !important;
}
[data-theme="dark"] .card.text-center.border-success { border-left-color: var(--erp-success) !important; }
[data-theme="dark"] .card.text-center.border-warning { border-left-color: var(--erp-warn) !important; }
[data-theme="dark"] .card.text-center.border-danger { border-left-color: var(--erp-danger) !important; }
[data-theme="dark"] .card.text-center.border-info { border-left-color: var(--erp-info) !important; }
[data-theme="dark"] .card.text-center .h4, [data-theme="dark"] .card.text-center .h5,
[data-theme="dark"] .card.text-center .display-6 { color: var(--erp-fg) !important; font-family: "JetBrains Mono", monospace; }

/* ---------- 登录页（暗色玻璃） ---------- */
[data-theme="dark"] .login-wrapper { background: #0B0F14 !important; }
[data-theme="dark"] .login-wrapper::before { background: radial-gradient(circle, rgba(45,212,191,.12) 0%, transparent 70%) !important; }
[data-theme="dark"] .login-wrapper::after { background: radial-gradient(circle, rgba(59,130,246,.14) 0%, transparent 70%) !important; }
[data-theme="dark"] .login-card { background: rgba(13,18,28,.85) !important; backdrop-filter: blur(20px); border: 1px solid rgba(255,255,255,0.08) !important; }
[data-theme="dark"] .login-card .card-header, [data-theme="dark"] .login-card .card-body { color: var(--text-primary); }
[data-theme="dark"] .login-card .brand-logo { background: linear-gradient(90deg,#2DD4BF,#3B82F6) !important; -webkit-background-clip: text !important; }

/* ---------- 状态文字 ---------- */
[data-theme="dark"] .text-success { color: #4ADE80 !important; }
[data-theme="dark"] .text-danger { color: #F87171 !important; }
[data-theme="dark"] .text-warning { color: #FBBF24 !important; }
[data-theme="dark"] .text-info { color: #93C5FD !important; }

/* ---------- Bootstrap 深色残留清扫 ---------- */
[data-theme="dark"] .list-group-item { background: var(--erp-card); border-color: var(--erp-bd); color: var(--text-primary); }
[data-theme="dark"] .accordion-item { background: var(--erp-card); border-color: var(--erp-bd); color: var(--text-primary); }
[data-theme="dark"] .accordion-button { background: var(--erp-hover) !important; color: var(--erp-fg) !important; }
[data-theme="dark"] .accordion-button:not(.collapsed) { background: var(--erp-hover) !important; box-shadow: inset 0 -1px 0 var(--erp-bd); }
[data-theme="dark"] .progress { background: var(--erp-hover) !important; }
[data-theme="dark"] .progress-bar { background: var(--erp-primary-grad) !important; }
[data-theme="dark"] .spinner-border, [data-theme="dark"] .spinner-grow { color: var(--erp-primary); }

/* ---------- 滚动条 ---------- */
[data-theme="dark"] ::-webkit-scrollbar { width: 8px; height: 8px; }
[data-theme="dark"] ::-webkit-scrollbar-track { background: transparent; }
[data-theme="dark"] ::-webkit-scrollbar-thumb { background: #232A36; border-radius: 99px; }
[data-theme="dark"] ::-webkit-scrollbar-thumb:hover { background: #2C3547; }

/* ---------- 动效（效率导向，尊重 reduced motion） ---------- */
@media (prefers-reduced-motion: no-preference) {
  [data-theme="dark"] .card, [data-theme="dark"] .alert, [data-theme="dark"] .modal-content { animation: fadeInDark .25s ease; }
  @keyframes fadeInDark { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
  [data-theme="dark"] .stat-card, [data-theme="dark"] .erp-card { transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease; }
  [data-theme="dark"] .stat-card:hover, [data-theme="dark"] .erp-card:hover { transform: translateY(-1px); }
}
