/* ==========================================================================
   佛系云 · 商务黑白高端风格（nav-pages.css）
   --------------------------------------------------------------------------
   作用域：仅命中「账单列表 / 交易记录 / 帮助中心 / 新闻中心 / 资源下载」
          这类列表与内容页，通过 .bw-page 外壳类限定，不污染其它页面。
   设计语言：黑白灰单色体系 —— 零彩色干扰，靠字重 / 灰度 / 精确分割线
             建立层级；数字用 tabular-nums 对齐；序列号用等宽字体。
   加载顺序：必须在 business-white.css 之后。
   ========================================================================== */

:root {
    /* 单色阶（由深到浅） */
    --bwm-ink-0: #0a0e14;   /* 近黑，主标题 / 黑底按钮 */
    --bwm-ink-1: #141a22;   /* 主文字 */
    --bwm-ink-2: #4a5568;   /* 次要文字 */
    --bwm-ink-3: #7b8794;   /* 辅助文字 */
    --bwm-ink-4: #a8b3bf;   /* 占位 / 禁用 */
    --bwm-line: #e8ecf1;    /* 分割线 */
    --bwm-line-2: #f1f4f7;  /* 极浅分割线 */
    --bwm-surface: #ffffff; /* 卡片底 */
    --bwm-canvas: #fbfcfd;  /* 页底 */
    --bwm-hover: #f7f9fb;   /* 悬停底 */
    --bwm-sunken: #f4f6f8;  /* 表头底 / 内嵌底 */

    /* 状态色（唯一保留的色相，低饱和，仅用于语义） */
    --bwm-warn: #b45309;
    --bwm-warn-bg: #fef7ed;
    --bwm-warn-line: #f3ddb7;
    --bwm-ok: #1d6b45;
    --bwm-ok-bg: #f0f7f3;
    --bwm-ok-line: #c9e0d3;
    --bwm-mute: #5b6672;
    --bwm-mute-bg: #f2f4f6;
    --bwm-mute-line: #e2e7ec;
}

/* --------------------------------------------------------------------------
   1. 页面外壳：让内容区有统一的商务留白与页底
   -------------------------------------------------------------------------- */
body .page-content:has(.bw-page) {
    background: var(--bwm-canvas) !important;
}

.bw-page {
    --bwm-pad: 28px;
    color: var(--bwm-ink-1);
    font-feature-settings: "tnum" 1, "cv01" 1;
    -webkit-font-smoothing: antialiased;
}

/* 统一卡片：白底 + 极细边 + 无浮夸阴影 */
.bw-page .card {
    border: 1px solid var(--bwm-line) !important;
    border-radius: 0 !important;
    background: var(--bwm-surface) !important;
    box-shadow: 0 1px 2px rgba(10, 14, 20, 0.03) !important;
    margin-bottom: 16px !important;
}
.bw-page .card > .card-body { padding: var(--bwm-pad) !important; }
.bw-page .card > .card-body > .row { margin: 0 !important; }

/* --------------------------------------------------------------------------
   1b. 旧页面标题条在改造页上须让位给 .bw-head（同一信息不重复出现两次）
   --------------------------------------------------------------------------
   三条兜底：
     a) 模板级：billing/transaction/knowledgebase/news 首行置 $bwHideTitle=true，
        header.tpl 据此不渲染 pageheader（首选方案）
     b) 结构级：.bw-page 与 pageheader 的 .container-fluid 是兄弟关系，
        用 :has() 从父容器反向命中（Chrome 105+/Edge 105+ 均支持）
     c) 直接级：万一 pageheader 落进了 .bw-page 内部也能命中
   -------------------------------------------------------------------------- */
.bw-page ~ .page-title-box,
.bw-page .page-title-box { display: none !important; }
.bw-legacy-titlebar { display: none !important; }

/* b) 页面内存在 .bw-page 时，隐藏同区域内的旧标题条 */
.page-content:has(.bw-page) > .container-fluid > .row > .col-12 > .page-title-box,
.page-content:has(.bw-page) .page-title-box,
.main-content:has(.bw-page) .page-title-box {
    display: none !important;
}
/* 旧标题条被隐藏后，它那一层容器不再需要额外的上下留白 */
.page-content:has(.bw-page) > .container-fluid > .row:has(> .col-12 > .page-title-box) {
    margin: 0 !important;
    padding: 0 !important;
}
.page-content:has(.bw-page) > .container-fluid > .row:has(> .col-12 > .page-title-box) > .col-12 {
    padding: 0 !important;
}

/* --------------------------------------------------------------------------
   2. 页面标题条（替换默认 page-title-box 的随意感）
   -------------------------------------------------------------------------- */
.bw-page .bw-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
    flex-wrap: wrap;
    padding: 22px 0 14px;
    border-bottom: 1px solid var(--bwm-line);
    margin-bottom: 22px;
}
.bw-page .bw-head__left { min-width: 0; }
.bw-page .bw-head__eyebrow {
    display: block;
    font-size: 10.5px;
    font-weight: 600;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--bwm-ink-4);
    margin-bottom: 7px;
}
.bw-page .bw-head__title {
    margin: 0;
    font-size: 24px;
    line-height: 1.2;
    font-weight: 700;
    letter-spacing: -0.015em;
    color: var(--bwm-ink-0);
}
.bw-page .bw-head__sub {
    margin: 7px 0 0;
    font-size: 13px;
    line-height: 1.6;
    color: var(--bwm-ink-3);
}
.bw-page .bw-head__right { display: flex; align-items: center; gap: 10px; flex: 0 0 auto; }

/* 统计块：把「当前视图的规模」一眼交代清楚 */
.bw-page .bw-stats { display: flex; align-items: stretch; gap: 0; }
.bw-page .bw-stat {
    padding: 0 20px;
    text-align: right;
    border-right: 1px solid var(--bwm-line);
}
.bw-page .bw-stat:last-child { border-right: 0; padding-right: 0; }
.bw-page .bw-stat:first-child { padding-left: 0; }
.bw-page .bw-stat__v {
    display: block;
    font-size: 21px;
    font-weight: 700;
    line-height: 1.1;
    letter-spacing: -0.02em;
    font-variant-numeric: tabular-nums;
    color: var(--bwm-ink-0);
}
.bw-page .bw-stat__k {
    display: block;
    margin-top: 4px;
    font-size: 10.5px;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--bwm-ink-4);
}

/* --------------------------------------------------------------------------
   3. 工具条：筛选 / 搜索 / 视图切换
   -------------------------------------------------------------------------- */
.bw-page .bw-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    flex-wrap: wrap;
    margin-bottom: 0;
}
.bw-page .bw-toolbar__group { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.bw-page .bw-toolbar__label {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--bwm-ink-4);
    white-space: nowrap;
}

/* 下拉 / 输入：直角细边，去掉圆润感 */
.bw-page .form-control,
.bw-page .custom-select,
.bw-page select.form-control {
    height: 36px !important;
    padding: 0 30px 0 12px !important;
    border: 1px solid #dde3ea !important;
    border-radius: 3px !important;
    background-color: var(--bwm-surface) !important;
    color: var(--bwm-ink-1) !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    box-shadow: none !important;
    appearance: none;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237b8794' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 10px center !important;
    background-size: 12px !important;
    transition: border-color 0.15s ease, box-shadow 0.15s ease !important;
}
.bw-page .form-control:hover { border-color: #c8d1dc !important; }
.bw-page .form-control:focus {
    border-color: var(--bwm-ink-0) !important;
    box-shadow: 0 0 0 3px rgba(10, 14, 20, 0.06) !important;
    outline: 0 !important;
}
.bw-page .form-control::placeholder { color: var(--bwm-ink-4) !important; }

/* 按钮体系：主 = 黑底白字；次 = 描边 */
.bw-page .btn {
    border-radius: 3px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    letter-spacing: 0.01em !important;
    padding: 8px 16px !important;
    transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease !important;
}
.bw-page .btn-primary {
    background: var(--bwm-ink-0) !important;
    border: 1px solid var(--bwm-ink-0) !important;
    color: #fff !important;
}
.bw-page .btn-primary:hover:not(:disabled) { background: #232b36 !important; border-color: #232b36 !important; }
.bw-page .btn-primary:disabled,
.bw-page .btn-primary.disabled {
    background: #eef1f4 !important;
    border-color: #e4e9ee !important;
    color: var(--bwm-ink-4) !important;
    opacity: 1 !important;
}
.bw-page .btn-outline-secondary,
.bw-page .btn-secondary {
    background: var(--bwm-surface) !important;
    border: 1px solid #dde3ea !important;
    color: var(--bwm-ink-2) !important;
}
.bw-page .btn-outline-secondary:hover,
.bw-page .btn-secondary:hover { border-color: var(--bwm-ink-0) !important; color: var(--bwm-ink-0) !important; }

/* --------------------------------------------------------------------------
   4. 页签（交易记录 4 个视图切换）
   -------------------------------------------------------------------------- */
.bw-page .bw-tabs {
    display: flex !important;
    align-items: stretch !important;
    gap: 0 !important;
    border: 0 !important;
    border-bottom: 1px solid var(--bwm-line) !important;
    margin: 0 0 20px !important;
    padding: 0 !important;
    flex-wrap: wrap !important;
}
.bw-page .bw-tabs .nav-item { margin: 0 !important; }
.bw-page .bw-tabs .nav-link {
    position: relative;
    display: block;
    padding: 11px 18px 12px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: var(--bwm-ink-3) !important;
    font-size: 13.5px !important;
    font-weight: 600 !important;
    letter-spacing: 0.01em !important;
    transition: color 0.15s ease !important;
    white-space: nowrap;
}
.bw-page .bw-tabs .nav-link:hover { color: var(--bwm-ink-1) !important; }
.bw-page .bw-tabs .nav-link.active {
    color: var(--bwm-ink-0) !important;
    background: transparent !important;
}
.bw-page .bw-tabs .nav-link.active:after {
    content: "" !important;
    position: absolute !important;
    left: 12px !important;
    right: 12px !important;
    bottom: -1px !important;
    height: 2px !important;
    background: var(--bwm-ink-0) !important;
}

/* --------------------------------------------------------------------------
   5. 表格：企业级财务对账表（对齐 / 数字 / 分组）
   -------------------------------------------------------------------------- */
.bw-page .table-responsive {
    background: transparent !important;
    min-height: 0 !important;
    margin-bottom: 0 !important;
    /* 关键：容器宽度不得被内容撑开，否则表格会顶出视口 */
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    overflow-x: auto !important;
    overflow-y: visible !important;
    -webkit-overflow-scrolling: touch;
}
.bw-page .table-responsive::-webkit-scrollbar { height: 8px; }
.bw-page .table-responsive::-webkit-scrollbar-thumb { background: #d7dee6; border-radius: 4px; }
.bw-page .table-responsive::-webkit-scrollbar-track { background: transparent; }

/* --- 表格基础 --- */
.bw-page table.table,
.bw-page table.tablelist {
    width: 100% !important;
    min-width: 0 !important;
    table-layout: fixed !important;      /* 关键：列宽由 colgroup 决定，杜绝表头/表体错位 */
    margin: 0 !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    border: 0 !important;
    font-size: 13px !important;
    font-variant-numeric: tabular-nums;
}

/* --- 表头 --- */
.bw-page table.table thead,
.bw-page table.tablelist thead,
.bw-page table.table thead.bg-light,
.bw-page table.tablelist thead.bg-light { background: transparent !important; }

.bw-page table.table thead th,
.bw-page table.tablelist thead th {
    padding: 0 12px 10px !important;
    border: 0 !important;
    border-bottom: 1px solid #d5dce5 !important;
    background: transparent !important;
    color: var(--bwm-ink-4) !important;
    font-size: 10.5px !important;
    font-weight: 700 !important;
    letter-spacing: 0.09em !important;
    text-transform: uppercase !important;
    text-align: left !important;
    vertical-align: bottom !important;
    line-height: 1.35 !important;
    white-space: nowrap !important;
    overflow: visible !important;
}
.bw-page table.table thead th.checkbox,
.bw-page table.tablelist thead th.checkbox { padding-left: 10px !important; }

/* 表头排序箭头：与文字同一基线，不再被挤成竖排 */
.bw-page table.table thead th > span,
.bw-page table.tablelist thead th > span { display: inline !important; vertical-align: baseline !important; }
.bw-page table.table thead th .text-black-50,
.bw-page table.tablelist thead th .text-black-50 {
    display: inline-flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    vertical-align: middle !important;
    margin-left: 3px !important;
    margin-right: 0 !important;
    opacity: 1 !important;
    color: var(--bwm-ink-4) !important;
    transform: none !important;
    position: static !important;
}
.bw-page table.table thead th .text-black-50 i,
.bw-page table.tablelist thead th .text-black-50 i {
    display: block !important;
    font-size: 12px !important;
    line-height: 7px !important;
    color: inherit !important;
}
.bw-page table.table thead th.pointer,
.bw-page table.tablelist thead th.pointer { cursor: pointer; user-select: none; }
.bw-page table.table thead th.pointer:hover,
.bw-page table.tablelist thead th.pointer:hover { color: var(--bwm-ink-1) !important; }

/* --- 表体 --- */
.bw-page table.table tbody td,
.bw-page table.tablelist tbody td {
    padding: 13px 12px !important;
    border: 0 !important;
    border-bottom: 1px solid var(--bwm-line-2) !important;
    background: transparent !important;
    color: var(--bwm-ink-2) !important;
    font-size: 13px !important;
    line-height: 1.5 !important;
    vertical-align: middle !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    box-sizing: border-box !important;
}
.bw-page table.table tbody tr:hover td,
.bw-page table.tablelist tbody tr:hover td,
.bw-page .table-responsive tbody tr:hover td {
    background: var(--bwm-hover) !important;
    transition: background-color 0.14s ease !important;
}
.bw-page table.table tbody tr:last-child td,
.bw-page table.tablelist tbody tr:last-child td { border-bottom: 0 !important; }

/* 复选框列：格子够宽，不压坏 16px 勾选框 */
.bw-page table.table tbody td:first-child,
.bw-page table.tablelist tbody td:first-child {
    padding-left: 10px !important;
    padding-right: 2px !important;
    overflow: visible !important;
}
.bw-page table.table thead th.checkbox,
.bw-page table.tablelist thead th.checkbox { overflow: visible !important; }

/* --- 数字列：右对齐 + 等宽数字（财务表铁律） --- */
.bw-page table.table th.bw-c-num,
.bw-page table.tablelist th.bw-c-num,
.bw-page table.table td.bw-c-num,
.bw-page table.tablelist td.bw-c-num { text-align: right !important; }
.bw-page table.table td.bw-num,
.bw-page table.tablelist td.bw-num,
.bw-page table.table td.bw-c-num,
.bw-page table.tablelist td.bw-c-num {
    font-variant-numeric: tabular-nums !important;
    font-feature-settings: "tnum" 1 !important;
    letter-spacing: 0.01em !important;
    color: var(--bwm-ink-0) !important;
    font-weight: 700 !important;
    white-space: nowrap !important;
}
/* 时间列：等宽数字，扫读不跳列 */
.bw-page table.table td.bw-date,
.bw-page table.tablelist td.bw-date {
    font-variant-numeric: tabular-nums !important;
    color: var(--bwm-ink-2) !important;
    white-space: nowrap !important;
}
/* 流水 / 序列号：等宽小字淡色 */
.bw-page table.table td.bw-mono,
.bw-page table.tablelist td.bw-mono {
    font-family: "SFMono-Regular", "JetBrains Mono", Consolas, "Liberation Mono", Menlo, monospace !important;
    font-size: 11.5px !important;
    letter-spacing: 0.02em !important;
    color: var(--bwm-ink-3) !important;
    white-space: nowrap !important;
}
/* 纯序号列 */
.bw-page table.table td.bw-seq,
.bw-page table.tablelist td.bw-seq {
    font-family: "SFMono-Regular", "JetBrains Mono", Consolas, Menlo, monospace !important;
    font-size: 11.5px !important;
    color: var(--bwm-ink-4) !important;
}

/* --- 主键 #1234 等宽胶囊 --- */
.bw-page .bw-id {
    display: inline-block !important;
    padding: 2px 7px !important;
    border: 1px solid var(--bwm-mute-line) !important;
    border-radius: 3px !important;
    background: var(--bwm-mute-bg) !important;
    color: var(--bwm-ink-1) !important;
    font-family: "SFMono-Regular", "JetBrains Mono", Consolas, Menlo, monospace !important;
    font-size: 11.5px !important;
    font-weight: 600 !important;
    letter-spacing: 0.01em !important;
    text-decoration: none !important;
    transition: border-color 0.15s ease, background-color 0.15s ease, color 0.15s ease !important;
}
.bw-page a:hover .bw-id,
.bw-page .bw-id:hover {
    border-color: var(--bwm-ink-0) !important;
    background: var(--bwm-ink-0) !important;
    color: #fff !important;
}
/* 兼容原生 badge-light 写法 */
.bw-page table.table tbody td .badge-light,
.bw-page table.tablelist tbody td .badge-light {
    display: inline-block !important;
    padding: 2px 7px !important;
    border: 1px solid var(--bwm-mute-line) !important;
    border-radius: 3px !important;
    background: var(--bwm-mute-bg) !important;
    color: var(--bwm-ink-1) !important;
    font-family: "SFMono-Regular", "JetBrains Mono", Consolas, Menlo, monospace !important;
    font-size: 11.5px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
}
.bw-page a:hover > .badge-light {
    border-color: var(--bwm-ink-0) !important;
    background: var(--bwm-ink-0) !important;
    color: #fff !important;
}

/* --- 复选框：直角黑选中，尺寸固定不被压缩 --- */
.bw-page .custom-control {
    min-height: auto !important;
    padding-left: 0 !important;
    margin: 0 !important;
    display: block !important;
}
.bw-page .custom-control-label {
    padding-left: 0 !important;
    margin: 0 !important;
    position: relative !important;
    display: block !important;
    width: 16px !important;
    height: 16px !important;
    cursor: pointer !important;
    vertical-align: middle !important;
}
.bw-page .custom-control-label:before,
.bw-page .custom-checkbox .custom-control-label::before {
    width: 16px !important;
    height: 16px !important;
    border: 1px solid #cfd8e0 !important;
    border-radius: 3px !important;
    background: #fff !important;
    top: 0 !important;
    left: 0 !important;
    transition: border-color 0.14s ease, background-color 0.14s ease !important;
}
.bw-page .custom-control-label:after,
.bw-page .custom-checkbox .custom-control-label::after {
    width: 16px !important;
    height: 16px !important;
    top: 0 !important;
    left: 0 !important;
    background-size: 11px !important;
}
.bw-page .custom-control-input:checked ~ .custom-control-label::before {
    border-color: var(--bwm-ink-0) !important;
    background-color: var(--bwm-ink-0) !important;
}
.bw-page .custom-control-input:focus ~ .custom-control-label::before {
    box-shadow: 0 0 0 3px rgba(10, 14, 20, 0.08) !important;
}
.bw-page .custom-control-input:indeterminate ~ .custom-control-label::before {
    border-color: var(--bwm-ink-0) !important;
    background-color: var(--bwm-ink-0) !important;
}
.bw-page .custom-control-input { position: absolute !important; opacity: 0 !important; z-index: 1 !important; }

/* --------------------------------------------------------------------------
   6. 状态标签：单色系 + 极少量语义色
   -------------------------------------------------------------------------- */
.bw-page .status.badge,
.bw-page .status {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 3px 9px 3px 7px !important;
    border: 1px solid var(--bwm-mute-line) !important;
    border-radius: 3px !important;
    background: var(--bwm-mute-bg) !important;
    color: var(--bwm-mute) !important;
    font-size: 11.5px !important;
    font-weight: 600 !important;
    letter-spacing: 0.02em !important;
    line-height: 1.6 !important;
    white-space: nowrap !important;
}
.bw-page .status:before {
    content: "" !important;
    flex: 0 0 auto !important;
    width: 6px !important;
    height: 6px !important;
    border-radius: 50% !important;
    background: currentColor !important;
    opacity: 0.85 !important;
}

/* 已支付 / 已完成 —— 低饱和绿，唯一用于「正常」的色相 */
.bw-page .status-paid,
.bw-page .status-active,
.bw-page .status-finished,
.bw-page .status-succeed {
    border-color: var(--bwm-ok-line) !important;
    background: var(--bwm-ok-bg) !important;
    color: var(--bwm-ok) !important;
}
/* 未支付 / 待处理 —— 低饱和琥珀 */
.bw-page .status-unpaid,
.bw-page .status-pending,
.bw-page .status-wait {
    border-color: var(--bwm-warn-line) !important;
    background: var(--bwm-warn-bg) !important;
    color: var(--bwm-warn) !important;
}
/* 已取消 / 已退款 / 已作废 —— 纯中性灰 */
.bw-page .status-cancelled,
.bw-page .status-refunded,
.bw-page .status-refund,
.bw-page .status-deleted,
.bw-page .status-invalid,
.bw-page .status-closed {
    border-color: var(--bwm-mute-line) !important;
    background: var(--bwm-mute-bg) !important;
    color: var(--bwm-mute) !important;
}
/* 兜底：其它未列举状态一律走中性灰，不出现杂色 */
.bw-page .status[class*="status-"]:not(.status-paid):not(.status-active):not(.status-unpaid):not(.status-cancelled):not(.status-refunded) {
    border-color: var(--bwm-mute-line) !important;
    background: var(--bwm-mute-bg) !important;
    color: var(--bwm-mute) !important;
}

/* 金额方向：收入深黑实心、支出中性 */
.bw-page .bw-amt-in { color: var(--bwm-ink-0) !important; font-weight: 700 !important; letter-spacing: -0.01em !important; }
.bw-page .bw-amt-out { color: var(--bwm-ink-2) !important; font-weight: 600 !important; }

/* --------------------------------------------------------------------------
   7. 操作列：次要动作描边、主要动作黑底
   -------------------------------------------------------------------------- */
.bw-page .bw-actions { display: inline-flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.bw-page table.table tbody td a,
.bw-page table.tablelist tbody td a {
    text-decoration: none !important;
}
.bw-page .bw-act {
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
    padding: 4px 10px !important;
    border: 1px solid #dfe5eb !important;
    border-radius: 3px !important;
    background: #fff !important;
    color: var(--bwm-ink-2) !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    line-height: 1.6 !important;
    white-space: nowrap !important;
    transition: all 0.15s ease !important;
}
.bw-page .bw-act i { font-size: 12px !important; }
.bw-page .bw-act:hover {
    border-color: var(--bwm-ink-0) !important;
    background: var(--bwm-ink-0) !important;
    color: #fff !important;
}
/* 主操作（支付）—— 黑底 */
.bw-page .bw-act--primary {
    border-color: var(--bwm-ink-0) !important;
    background: var(--bwm-ink-0) !important;
    color: #fff !important;
}
.bw-page .bw-act--primary:hover { background: #232b36 !important; border-color: #232b36 !important; }
/* 危险操作（删除）—— 描边，悬停才变红，平时不制造视觉噪声 */
.bw-page .bw-act--danger { color: var(--bwm-ink-3) !important; }
.bw-page .bw-act--danger:hover {
    border-color: #a3231f !important;
    background: #a3231f !important;
    color: #fff !important;
}

/* --------------------------------------------------------------------------
   8. 表格页脚：分页与「每页条数」
   -------------------------------------------------------------------------- */
.bw-page .table-footer {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 16px !important;
    flex-wrap: wrap !important;
    margin: 0 !important;
    padding: 16px 0 0 !important;
    border-top: 1px solid var(--bwm-line) !important;
    margin-top: 4px !important;
}
.bw-page .table-tools { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.bw-page #pay-combine,
.bw-page .table-tools > span { font-size: 12.5px; color: var(--bwm-ink-3); }
.bw-page .table-pagination { display: flex !important; align-items: center !important; gap: 14px !important; flex-wrap: wrap; }
.bw-page .table-pageinfo {
    display: flex !important;
    align-items: center !important;
    gap: 4px !important;
    font-size: 12.5px !important;
    color: var(--bwm-ink-3) !important;
}
.bw-page .table-pageinfo .mx-2 { margin: 0 6px !important; display: inline-flex; align-items: center; gap: 5px; }
.bw-page .table-pageinfo select {
    height: 28px !important;
    padding: 0 24px 0 8px !important;
    border: 1px solid #dde3ea !important;
    border-radius: 3px !important;
    background-color: #fff !important;
    color: var(--bwm-ink-1) !important;
    font-size: 12.5px !important;
    font-weight: 600 !important;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237b8794' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 6px center !important;
    background-size: 11px !important;
    appearance: none;
}
.bw-page .pagination { display: flex !important; gap: 4px !important; margin: 0 !important; }
.bw-page .pagination > li,
.bw-page .pagination > li.page-item { list-style: none !important; }
.bw-page .pagination .page-link,
.bw-page .pagination > li > a,
.bw-page .pagination > li > span {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 30px !important;
    height: 30px !important;
    padding: 0 8px !important;
    border: 1px solid #dfe5eb !important;
    border-radius: 3px !important;
    background: #fff !important;
    color: var(--bwm-ink-2) !important;
    font-size: 12.5px !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    text-decoration: none !important;
    transition: all 0.14s ease !important;
    font-variant-numeric: tabular-nums;
}
.bw-page .pagination .page-link:hover,
.bw-page .pagination > li > a:hover { border-color: var(--bwm-ink-0) !important; color: var(--bwm-ink-0) !important; }
.bw-page .pagination .active .page-link,
.bw-page .pagination > li.active > a,
.bw-page .pagination > li.active > span,
.bw-page .pagination .page-item.active .page-link {
    border-color: var(--bwm-ink-0) !important;
    background: var(--bwm-ink-0) !important;
    color: #fff !important;
}
.bw-page .pagination .disabled .page-link,
.bw-page .pagination .page-item.disabled .page-link,
.bw-page .pagination > li.disabled > a,
.bw-page .pagination > li.disabled > span {
    border-color: var(--bwm-line) !important;
    background: #fbfcfd !important;
    color: var(--bwm-ink-4) !important;
    pointer-events: none !important;
}

/* 空状态：有教育意义，而不是干瘪的「暂无数据」 */
.bw-page .no-data {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    min-height: 200px !important;
    padding: 40px 20px !important;
    color: var(--bwm-ink-4) !important;
    font-size: 13px !important;
    text-align: center !important;
}
.bw-page .no-data:before {
    content: "" !important;
    display: block !important;
    width: 34px !important;
    height: 34px !important;
    opacity: 0.3 !important;
    background: no-repeat center/contain url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237b8794' stroke-width='1.4' stroke-linecap='round'%3E%3Cpath d='M3 7h18M3 12h18M3 17h12'/%3E%3C/svg%3E") !important;
}

/* --------------------------------------------------------------------------
   9. 内容列表（帮助中心 / 新闻中心）
   -------------------------------------------------------------------------- */
.bw-page .bw-list { margin: 0 !important; padding: 0 !important; list-style: none !important; }
.bw-page .bw-list__item {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 20px !important;
    padding: 16px 4px !important;
    border-bottom: 1px solid var(--bwm-line-2) !important;
    text-decoration: none !important;
    transition: background-color 0.15s ease, padding-left 0.18s ease !important;
}
.bw-page .bw-list__item:last-child { border-bottom: 0 !important; }
.bw-page .bw-list__item:hover {
    background: var(--bwm-hover) !important;
    padding-left: 12px !important;
}
.bw-page .bw-list__main { display: flex; align-items: center; gap: 12px; min-width: 0; }
.bw-page .bw-list__idx {
    flex: 0 0 auto;
    width: 25px;
    font-family: "SFMono-Regular", "JetBrains Mono", Consolas, Menlo, monospace;
    font-size: 11.5px;
    font-weight: 600;
    letter-spacing: 0.02em;
    color: var(--bwm-ink-4);
    font-variant-numeric: tabular-nums;
}
.bw-page .bw-list__item:hover .bw-list__idx { color: var(--bwm-ink-2); }
.bw-page .bw-list__title {
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1.55 !important;
    color: var(--bwm-ink-1) !important;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    transition: color 0.15s ease !important;
}
.bw-page .bw-list__item:hover .bw-list__title { color: var(--bwm-ink-0) !important; }
.bw-page .bw-list__meta {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    gap: 14px;
    font-size: 12px;
    color: var(--bwm-ink-4);
    font-variant-numeric: tabular-nums;
    letter-spacing: 0.01em;
    white-space: nowrap;
}
.bw-page .bw-list__date { font-family: "SFMono-Regular", "JetBrains Mono", Consolas, Menlo, monospace; font-size: 11.5px; }
.bw-page .bw-list__arrow {
    width: 7px; height: 7px;
    border-right: 1.5px solid currentColor;
    border-top: 1.5px solid currentColor;
    transform: rotate(45deg);
    opacity: 0.32;
    transition: transform 0.2s cubic-bezier(0.22, 0.61, 0.36, 1), opacity 0.2s ease;
}
.bw-page .bw-list__item:hover .bw-list__arrow { transform: rotate(45deg) translate(2px, -2px); opacity: 0.8; }

/* 分类 / 分类计数 */
.bw-page .bw-cats { margin: 0; padding: 0; list-style: none; }
.bw-page .bw-cats__item {
    display: flex; align-items: center; justify-content: space-between; gap: 10px;
    padding: 10px 12px;
    border: 1px solid transparent;
    border-radius: 3px;
    color: var(--bwm-ink-2) !important;
    text-decoration: none !important;
    font-size: 13px;
    font-weight: 500;
    transition: all 0.15s ease;
}
.bw-page .bw-cats__item:hover {
    border-color: var(--bwm-line) !important;
    background: var(--bwm-hover) !important;
    color: var(--bwm-ink-0) !important;
}
.bw-page .bw-cats__n {
    flex: 0 0 auto;
    min-width: 26px;
    padding: 1px 7px;
    border: 1px solid var(--bwm-mute-line);
    border-radius: 3px;
    background: var(--bwm-mute-bg);
    color: var(--bwm-ink-2);
    font-family: "SFMono-Regular", "JetBrains Mono", Consolas, Menlo, monospace;
    font-size: 11px;
    font-weight: 600;
    text-align: center;
    font-variant-numeric: tabular-nums;
}
.bw-page .bw-cats__item:hover .bw-cats__n {
    border-color: var(--bwm-ink-0);
    background: var(--bwm-ink-0);
    color: #fff;
}

/* 侧栏区块标题 */
.bw-page .bw-side { position: sticky; top: 90px; }
.bw-page .bw-side__block + .bw-side__block {
    margin-top: 22px;
    padding-top: 22px;
    border-top: 1px solid var(--bwm-line-2);
}
.bw-page .bw-side__k {
    display: block;
    margin: 0 0 12px;
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--bwm-ink-4);
}
.bw-page .bw-side__search { position: relative; }
.bw-page .bw-side__search input {
    width: 100% !important;
    height: 38px !important;
    padding: 0 38px 0 12px !important;
    border: 1px solid #dde3ea !important;
    border-radius: 3px !important;
    background: #fff !important;
    font-size: 13px !important;
    color: var(--bwm-ink-1) !important;
    transition: border-color 0.15s ease, box-shadow 0.15s ease !important;
}
.bw-page .bw-side__search input:focus {
    border-color: var(--bwm-ink-0) !important;
    box-shadow: 0 0 0 3px rgba(10, 14, 20, 0.06) !important;
    outline: 0 !important;
}
.bw-page .bw-side__search .bw-side__icon {
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 15px;
    color: var(--bwm-ink-4);
    cursor: pointer;
    transition: color 0.15s ease;
}
.bw-page .bw-side__search .bw-side__icon:hover { color: var(--bwm-ink-0); }

/* --------------------------------------------------------------------------
   10. 响应式
   -------------------------------------------------------------------------- */
@media (max-width: 991.98px) {
    .bw-page { --bwm-pad: 20px; }
    .bw-page .bw-head { padding: 16px 0 12px; margin-bottom: 18px; gap: 14px; }
    .bw-page .bw-head__title { font-size: 21px; }
    .bw-page .bw-stat { padding: 0 14px; }
    .bw-page .bw-stat__v { font-size: 18px; }
    .bw-page .bw-side { position: static; }
    .bw-page .card > .card-body { padding: 18px !important; }
}

@media (max-width: 767.98px) {
    .bw-page { --bwm-pad: 15px; }
    .bw-page .bw-head {
        flex-direction: column;
        align-items: stretch;
        gap: 14px;
    }
    .bw-page .bw-head__right { justify-content: flex-start; }
    .bw-page .bw-stats { width: 100%; }
    .bw-page .bw-stat { flex: 1 1 0; text-align: left; padding: 0 12px; }
    .bw-page .bw-stat:first-child { padding-left: 0; }
    .bw-page .bw-toolbar { flex-direction: column; align-items: stretch; }
    .bw-page .bw-toolbar__group { width: 100%; }
    .bw-page .bw-toolbar .form-control,
    .bw-page .bw-toolbar select.form-control { width: 100% !important; }
    .bw-page .bw-tabs { overflow-x: auto; flex-wrap: nowrap !important; -ms-overflow-style: none; scrollbar-width: none; }
    .bw-page .bw-tabs::-webkit-scrollbar { display: none; }
    .bw-page .bw-tabs .nav-link { padding: 10px 13px 11px !important; font-size: 13px !important; }

    /* 移动端表格：卡片化重排，避免出现横向滚动条 */
    .bw-page table.table.bw-table--stack thead,
    .bw-page table.tablelist.bw-table--stack thead { position: absolute; left: -9999px; }
    .bw-page table.table.bw-table--stack,
    .bw-page table.tablelist.bw-table--stack { display: block; }
    .bw-page table.table.bw-table--stack tbody,
    .bw-page table.tablelist.bw-table--stack tbody { display: block; }
    .bw-page table.table.bw-table--stack tbody tr,
    .bw-page table.tablelist.bw-table--stack tbody tr {
        display: grid !important;
        grid-template-columns: 1fr 1fr;
        gap: 6px 14px;
        padding: 14px 0 !important;
        border-bottom: 1px solid var(--bwm-line) !important;
    }
    .bw-page table.table.bw-table--stack tbody tr:hover td,
    .bw-page table.tablelist.bw-table--stack tbody tr:hover td { background: transparent !important; }
    .bw-page table.table.bw-table--stack tbody tr:hover,
    .bw-page table.tablelist.bw-table--stack tbody tr:hover { background: var(--bwm-hover) !important; }
    .bw-page table.table.bw-table--stack tbody td,
    .bw-page table.tablelist.bw-table--stack tbody td {
        display: block !important;
        padding: 0 !important;
        border: 0 !important;
        white-space: normal !important;
        text-align: left !important;
    }
    .bw-page table.table.bw-table--stack tbody td:before,
    .bw-page table.tablelist.bw-table--stack tbody td:before {
        content: attr(data-th) !important;
        display: block !important;
        margin-bottom: 3px !important;
        font-size: 10px !important;
        font-weight: 700 !important;
        letter-spacing: 0.09em !important;
        text-transform: uppercase !important;
        color: var(--bwm-ink-4) !important;
    }
    /* 复选框 / 主键 / 操作区占满整行 */
    .bw-page table.table.bw-table--stack tbody td:first-child,
    .bw-page table.tablelist.bw-table--stack tbody td:first-child,
    .bw-page table.table.bw-table--stack tbody td:last-child,
    .bw-page table.tablelist.bw-table--stack tbody td:last-child { grid-column: 1 / -1; }
    .bw-page table.table.bw-table--stack tbody td:first-child:before,
    .bw-page table.tablelist.bw-table--stack tbody td:first-child:before { display: none !important; }
    .bw-page .bw-actions { gap: 8px; }

    .bw-page .bw-list__item { flex-direction: column; align-items: flex-start; gap: 7px; padding: 14px 2px !important; }
    .bw-page .bw-list__meta { width: 100%; justify-content: space-between; }
    .bw-page .bw-list__arrow { display: none; }
    .bw-page .bw-list__title { font-size: 13.5px !important; }

    .bw-page .table-footer { flex-direction: column; align-items: stretch; gap: 14px; }
    .bw-page .table-tools { width: 100%; }
    .bw-page .table-tools .btn { width: 100%; }
    .bw-page .table-pagination { flex-direction: column; align-items: stretch; gap: 12px; }
    .bw-page .table-pageinfo { justify-content: flex-start; }
    .bw-page .pagination { flex-wrap: wrap; }
}

@media (max-width: 400px) {
    .bw-page table.table.bw-table--stack tbody tr,
    .bw-page table.tablelist.bw-table--stack tbody tr { grid-template-columns: 1fr; }
}
