/* ============================================================
   靖羽 ERP · 大厂浅色主题层 v1.0（2026-08-28）
   设计基准：Ant Design / Arco / TDesign 后台浅色体系
   —— 浅灰画布 #f5f6f8 · 纯白卡片 · 科技蓝 #2563eb 主色 ·
      高对比正文 #1f2329 · 语义色软底深字（可读性优先）
   规则：本层只在【浅色模式】生效（html 无 data-theme=dark 时）；
   暗色模式由 theme-dark.css 接管（[data-theme="dark"] 作用域）。
   ============================================================ */

html:not([data-theme="dark"]) {
    /* 核心表面 */
    --erp-bg:#f5f6f8; --erp-card:#ffffff; --erp-side:#ffffff;
    --erp-hover:#f2f3f5; --erp-row-hover:#f5f8ff;
    --erp-fg:#1f2329; --erp-mut:#5f6672; --erp-dim:#8f959e; --erp-dis:#bfc4cc;
    --erp-muted:#f2f3f5;
    --erp-bd:#e5e6eb; --erp-bd2:#eff0f2;
    /* 品牌科技蓝 */
    --erp-primary:#2563eb;
    --erp-primary-grad:linear-gradient(135deg,#3b82f6,#2563eb);
    --erp-primary-ink:#ffffff;
    --erp-success:#16a34a; --erp-warn:#f59e0b; --erp-info:#3b82f6; --erp-danger:#dc2626;
    --erp-glass:rgba(255,255,255,.86);
    /* 圆角与阴影 */
    --radius:12px; --radius-sm:8px;
    --shadow-card:0 1px 2px rgba(31,35,41,.05),0 1px 3px rgba(31,35,41,.04);
    --shadow-float:0 4px 14px rgba(37,99,235,.18);
    /* 兼容旧变量（全站引用处一键换浅色） */
    --bg-body:#f5f6f8; --bg-card:#ffffff; --bg-sidebar:#ffffff; --bg-sidebar-hover:#f2f3f5;
    --text-primary:#1f2329; --text-secondary:#5f6672;
    --brand-primary:#2563eb; --brand-primary-dark:#1d4ed8; --brand-accent:#f97316;
    --brand-success:#16a34a; --brand-danger:#dc2626; --brand-warning:#d97706;
}

/* ---------- 全局 ---------- */
html:not([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;
}
html:not([data-theme="dark"]) a { color: var(--erp-primary); }
html:not([data-theme="dark"]) a:hover { color: var(--brand-primary-dark); }
html:not([data-theme="dark"]) .text-primary { color: var(--erp-primary) !important; }
html:not([data-theme="dark"]) .text-muted { color: var(--erp-mut) !important; }
html:not([data-theme="dark"]) code { background: rgba(37,99,235,.07); color: #1d4ed8; }
html:not([data-theme="dark"]) hr { border-color: var(--erp-bd); }
html:not([data-theme="dark"]) .bg-light { background: var(--erp-hover) !important; }

/* ---------- 顶栏（白底毛玻璃） ---------- */
html:not([data-theme="dark"]) .navbar.app-topbar {
  background: rgba(255,255,255,.88) !important;
  backdrop-filter: blur(14px) saturate(160%) !important; -webkit-backdrop-filter: blur(14px) saturate(160%) !important;
  box-shadow: none !important; border-bottom: 1px solid var(--erp-bd) !important;
}
html:not([data-theme="dark"]) .navbar .navbar-brand strong { color: var(--erp-fg) !important; }
html:not([data-theme="dark"]) .topbar-icon-btn { color: var(--erp-mut); }
html:not([data-theme="dark"]) .topbar-icon-btn:hover { background: var(--erp-hover); color: var(--erp-fg); }
html:not([data-theme="dark"]) .theme-toggle { background: transparent; border: 1px solid transparent; color: var(--erp-mut); }
html:not([data-theme="dark"]) .theme-toggle:hover { background: var(--erp-hover); }
html:not([data-theme="dark"]) .app-avatar {
  background: var(--erp-primary-grad); color:#fff; font-weight:700;
}
html:not([data-theme="dark"]) .navbar .btn-warning {
  background: var(--erp-warn); border: none; color: #fff; font-weight: 600;
}
html:not([data-theme="dark"]) .navbar .btn-warning:hover { background: #d97706; }

/* ---------- 侧边栏（纯白 + 蓝色高亮） ---------- */
html:not([data-theme="dark"]) .sidebar,
html:not([data-theme="dark"]) .app-sidebar { background: var(--erp-side) !important; border-right: 1px solid var(--erp-bd) !important; }
html:not([data-theme="dark"]) .sidebar .nav-link,
html:not([data-theme="dark"]) .app-sidebar .nav-link { color: var(--erp-mut); border-radius: 8px; border-left: 3px solid transparent; }
html:not([data-theme="dark"]) .sidebar .nav-link:hover,
html:not([data-theme="dark"]) .app-sidebar .nav-link:hover { color: var(--erp-primary); background: var(--erp-hover); }
html:not([data-theme="dark"]) .sidebar .nav-link.active,
html:not([data-theme="dark"]) .app-sidebar .nav-link.active {
  color: var(--brand-primary-dark) !important; background: rgba(37,99,235,.08) !important;
  border-left: 3px solid var(--erp-primary); box-shadow: none; font-weight: 600;
}
html:not([data-theme="dark"]) .sidebar .nav-link.active .bi,
html:not([data-theme="dark"]) .app-sidebar .nav-link.active .bi { color: var(--erp-primary); }
html:not([data-theme="dark"]) .sidebar .nav-section,
html:not([data-theme="dark"]) .app-sidebar .nav-section { color: var(--erp-dim); }

/* ---------- 卡片（白卡 + 细描边 + 轻投影） ---------- */
html:not([data-theme="dark"]) .card,
html:not([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;
}
html:not([data-theme="dark"]) .card:hover { border-color: #d6d9e0; box-shadow: 0 6px 20px rgba(31,35,41,.08) !important; }
html:not([data-theme="dark"]) .card-header { background: transparent; border-bottom: 1px solid var(--erp-bd2); color: var(--erp-fg); font-weight: 600; }
html:not([data-theme="dark"]) .stat-card { background: var(--erp-card) !important; }

/* ---------- 表格 ---------- */
html:not([data-theme="dark"]) .table {
  color: var(--text-primary) !important; --bs-table-color: #1f2329; --bs-table-bg: transparent;
  --bs-table-hover-bg: #f5f8ff; --bs-table-hover-color: #1f2329;
  --bs-table-border-color: var(--erp-bd2);
}
html:not([data-theme="dark"]) .table thead th {
  color: #565b64 !important; background: #f7f8fa !important;
  border-bottom: 1px solid var(--erp-bd) !important; font-size: 12px; font-weight: 600; letter-spacing: .03em;
}
html:not([data-theme="dark"]) .table td, html:not([data-theme="dark"]) .table th { border-color: var(--erp-bd2) !important; }
html:not([data-theme="dark"]) .table-hover tbody tr:hover { background: #f5f8ff !important; }
html:not([data-theme="dark"]) .table-light { background: #f7f8fa !important; color: #5f6672 !important; }
html:not([data-theme="dark"]) .table-light thead th { background: #f7f8fa !important; color: #5f6672 !important; }
html:not([data-theme="dark"]) table { --bs-table-bg: transparent; }

/* ---------- 按钮 ---------- */
html:not([data-theme="dark"]) .btn { font-weight: 500; border-radius: 8px; }
html:not([data-theme="dark"]) .btn-primary, html:not([data-theme="dark"]) .btn-primary:focus {
  background: var(--erp-primary) !important; border: none !important; color: #fff !important;
  font-weight: 600; box-shadow: 0 1px 2px rgba(37,99,235,.35);
}
html:not([data-theme="dark"]) .btn-primary:hover { background: var(--brand-primary-dark) !important; box-shadow: 0 4px 12px rgba(37,99,235,.28); }
html:not([data-theme="dark"]) .btn-primary:disabled { background: #93b4f5 !important; }
html:not([data-theme="dark"]) .btn-outline-primary { color: var(--erp-primary) !important; border-color: rgba(37,99,235,.55) !important; background: transparent; }
html:not([data-theme="dark"]) .btn-outline-primary:hover { background: rgba(37,99,235,.06); color: var(--brand-primary-dark) !important; }
html:not([data-theme="dark"]) .btn-secondary,
html:not([data-theme="dark"]) .btn-outline-secondary {
  background: #fff; border-color: #d9dce3; color: #4b5563;
}
html:not([data-theme="dark"]) .btn-outline-secondary:hover { border-color: var(--erp-primary); color: var(--erp-primary); background: #f5f8ff; }
html:not([data-theme="dark"]) .btn-success { background: var(--erp-success); border: none; color: #fff; font-weight: 600; }
html:not([data-theme="dark"]) .btn-warning { background: var(--erp-warn); border: none; color: #fff; font-weight: 600; }
html:not([data-theme="dark"]) .btn-warning:hover { background: #d97706; }
html:not([data-theme="dark"]) .btn-danger, html:not([data-theme="dark"]) .btn-outline-danger { border-radius: 8px; }
html:not([data-theme="dark"]) .btn-light { background: var(--erp-hover); border-color: var(--erp-bd); color: var(--erp-fg); }

/* ---------- 徽标（软底深字，可读性优先） ---------- */
html:not([data-theme="dark"]) .badge { border-radius: 999px !important; font-weight: 600; padding: .35em .7em; }
html:not([data-theme="dark"]) .badge.bg-success { background: rgba(22,163,74,.10) !important; color: #15803d !important; }
html:not([data-theme="dark"]) .badge.bg-warning { background: rgba(217,119,6,.12) !important; color: #b45309 !important; }
html:not([data-theme="dark"]) .badge.bg-info { background: rgba(37,99,235,.10) !important; color: #1d4ed8 !important; }
html:not([data-theme="dark"]) .badge.bg-danger { background: rgba(220,38,38,.10) !important; color: #b91c1c !important; }
html:not([data-theme="dark"]) .badge.bg-secondary { background: var(--erp-muted) !important; color: #5f6672 !important; }
html:not([data-theme="dark"]) .badge.bg-primary { background: rgba(37,99,235,.10) !important; color: #1d4ed8 !important; }

/* ---------- 表单 ---------- */
html:not([data-theme="dark"]) .form-control, html:not([data-theme="dark"]) .form-select,
html:not([data-theme="dark"]) textarea.form-control {
  background: #fff !important; color: var(--erp-fg) !important;
  border: 1px solid #d9dce3 !important; border-radius: 8px;
}
html:not([data-theme="dark"]) .form-control::placeholder { color: #9ca3af; }
html:not([data-theme="dark"]) .form-control:focus, html:not([data-theme="dark"]) .form-select:focus {
  background: #fff !important; color: var(--erp-fg) !important;
  border-color: var(--erp-primary) !important;
  box-shadow: 0 0 0 3px rgba(37,99,235,.13) !important;
}
html:not([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='%235f6672' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
}
html:not([data-theme="dark"]) .input-group-text { background: #f7f8fa; border-color: #d9dce3; color: var(--erp-mut); }
html:not([data-theme="dark"]) .form-check-input { background-color: #fff; border-color: #cfd3da; }
html:not([data-theme="dark"]) .form-check-input:checked { background-color: var(--erp-primary); border-color: var(--erp-primary); }
html:not([data-theme="dark"]) .form-label { color: #4b5563; font-weight: 500; }

/* ---------- 下拉 / 模态（白底浮层） ---------- */
html:not([data-theme="dark"]) .dropdown-menu {
  background: #fff !important;
  border: 1px solid var(--erp-bd) !important; border-radius: 12px;
  box-shadow: 0 12px 40px rgba(31,35,41,.12) !important; padding: 4px;
}
html:not([data-theme="dark"]) .dropdown-item { color: var(--text-primary); border-radius: 8px; }
html:not([data-theme="dark"]) .dropdown-item:hover, html:not([data-theme="dark"]) .dropdown-item:focus { background: var(--erp-hover); color: var(--erp-fg); }
html:not([data-theme="dark"]) .dropdown-divider { border-color: var(--erp-bd2); }
html:not([data-theme="dark"]) .modal-content {
  background: #fff !important;
  border: 1px solid var(--erp-bd) !important; border-radius: 16px !important;
  box-shadow: 0 24px 64px rgba(31,35,41,.18) !important; color: var(--text-primary);
}
html:not([data-theme="dark"]) .modal-header, html:not([data-theme="dark"]) .modal-footer { border-color: var(--erp-bd2) !important; }
html:not([data-theme="dark"]) .btn-close { filter: none; }

/* ---------- Tabs / Pills / 分页 ---------- */
html:not([data-theme="dark"]) .nav-tabs { border-color: var(--erp-bd); }
html:not([data-theme="dark"]) .nav-tabs .nav-link { color: var(--erp-mut); border: none; border-bottom: 2px solid transparent; }
html:not([data-theme="dark"]) .nav-tabs .nav-link:hover { color: var(--erp-fg); border-bottom-color: rgba(37,99,235,.4); }
html:not([data-theme="dark"]) .nav-tabs .nav-link.active {
  color: var(--erp-primary) !important; background: transparent !important;
  border-bottom: 2px solid var(--erp-primary) !important;
}
html:not([data-theme="dark"]) .nav-pills .nav-link { color: var(--erp-mut); }
html:not([data-theme="dark"]) .nav-pills .nav-link.active { background: rgba(37,99,235,.09) !important; color: var(--brand-primary-dark) !important; }
html:not([data-theme="dark"]) .pagination .page-link { background: #fff; border-color: #d9dce3; color: var(--erp-mut); }
html:not([data-theme="dark"]) .pagination .page-link:hover { background: var(--erp-hover); color: var(--erp-fg); }
html:not([data-theme="dark"]) .pagination .page-item.active .page-link { background: var(--erp-primary); border-color: var(--erp-primary); color: #fff; font-weight: 600; }

/* ---------- Alerts（语义软底 + 左条） ---------- */
html:not([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;
}
html:not([data-theme="dark"]) .alert-info { border-left-color: var(--erp-info) !important; background: #eff6ff !important; color: #1e40af !important; }
html:not([data-theme="dark"]) .alert-success { border-left-color: var(--erp-success) !important; background: #f0fdf4 !important; color: #166534 !important; }
html:not([data-theme="dark"]) .alert-warning { border-left-color: var(--erp-warn) !important; background: #fffbeb !important; color: #92400e !important; }
html:not([data-theme="dark"]) .alert-danger, html:not([data-theme="dark"]) .alert-error {
  border-left-color: var(--erp-danger) !important; background: #fef2f2 !important; color: #991b1b !important;
}

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

/* ---------- 统计卡 ---------- */
html:not([data-theme="dark"]) .card.text-center.border-primary, html:not([data-theme="dark"]) .card.text-center.border-info,
html:not([data-theme="dark"]) .card.text-center.border-success, html:not([data-theme="dark"]) .card.text-center.border-warning,
html:not([data-theme="dark"]) .card.text-center.border-danger, html:not([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;
}
html:not([data-theme="dark"]) .card.text-center.border-success { border-left-color: var(--erp-success) !important; }
html:not([data-theme="dark"]) .card.text-center.border-warning { border-left-color: var(--erp-warn) !important; }
html:not([data-theme="dark"]) .card.text-center.border-danger { border-left-color: var(--erp-danger) !important; }
html:not([data-theme="dark"]) .card.text-center.border-info { border-left-color: var(--erp-info) !important; }
html:not([data-theme="dark"]) .card.text-center .h4, html:not([data-theme="dark"]) .card.text-center .h5,
html:not([data-theme="dark"]) .card.text-center .display-6 {
  color: var(--erp-fg) !important; font-family: "JetBrains Mono", monospace;
}

/* ---------- 登录页兜底（当前登录页为独立品牌页，不受影响） ---------- */
html:not([data-theme="dark"]) .login-wrapper { background: #f5f6f8 !important; }
html:not([data-theme="dark"]) .login-card { background: #fff !important; border: 1px solid var(--erp-bd) !important; }
html:not([data-theme="dark"]) .login-card .brand-logo {
  background: linear-gradient(90deg,#3b82f6,#2563eb) !important; -webkit-background-clip: text !important;
}

/* ---------- 状态文字（深色可读档） ---------- */
html:not([data-theme="dark"]) .text-success { color: #15803d !important; }
html:not([data-theme="dark"]) .text-danger { color: #dc2626 !important; }
html:not([data-theme="dark"]) .text-warning { color: #b45309 !important; }
html:not([data-theme="dark"]) .text-info { color: var(--erp-primary) !important; }

/* ---------- 列表 / 手风琴 / 进度 ---------- */
html:not([data-theme="dark"]) .list-group-item { background: var(--erp-card); border-color: var(--erp-bd); color: var(--text-primary); }
html:not([data-theme="dark"]) .accordion-item { background: var(--erp-card); border-color: var(--erp-bd); color: var(--text-primary); }
html:not([data-theme="dark"]) .accordion-button { background: #f7f8fa !important; color: var(--erp-fg) !important; }
html:not([data-theme="dark"]) .accordion-button:not(.collapsed) { background: #f5f8ff !important; color: var(--brand-primary-dark) !important; box-shadow: inset 0 -1px 0 var(--erp-bd); }
html:not([data-theme="dark"]) .progress { background: var(--erp-hover) !important; }
html:not([data-theme="dark"]) .progress-bar { background: var(--erp-primary) !important; }
html:not([data-theme="dark"]) .spinner-border, html:not([data-theme="dark"]) .spinner-grow { color: var(--erp-primary); }
html:not([data-theme="dark"]) .toast { background: #fff; border: 1px solid var(--erp-bd); box-shadow: 0 8px 28px rgba(31,35,41,.14); }

/* ---------- 滚动条 ---------- */
html:not([data-theme="dark"]) ::-webkit-scrollbar { width: 8px; height: 8px; }
html:not([data-theme="dark"]) ::-webkit-scrollbar-track { background: transparent; }
html:not([data-theme="dark"]) ::-webkit-scrollbar-thumb { background: rgba(31,35,41,.18); border-radius: 99px; }
html:not([data-theme="dark"]) ::-webkit-scrollbar-thumb:hover { background: rgba(31,35,41,.30); }

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