/* 统一列表皮肤：搜索栏 + 精修表格
 * 范本：分站后台「卡密库存」表格。现抽为共用文件，
 * 分站后台（portal.html）与总站后台（admin.html）都引本文件，保证两侧列表视觉一致。
 * 用法：外层 .pt-scroll 裹表格（圆角卡片 + 横向滚动兜底），表格加 .pt-tbl，
 *      工具栏加 .pt-toolbar（内含 .text-input 搜索框与 .pt-count 计数）。
 */
/* ============================================================
 * 【项目规范】后台所有表格统一使用本套皮肤
 *   · 自动生效：引入 pt-table.js 后，页面里所有 <table> 会自动
 *     加上 .pt-tbl 并被 .pt-scroll 包裹，新增页面/表格无需手写样式。
 *   · 手动用法（需要搜索栏时）：外层 .pt-scroll 裹表格（表格加 .pt-tbl），
 *     工具栏 .pt-toolbar（内含 .text-input 搜索框 + .pt-count 计数）。
 *   · 例外：确实不需要皮肤的表格加 class="pt-raw"。
 * ============================================================ */
.pt-toolbar { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; margin: 8px 0 12px; }
.pt-toolbar .text-input { min-width: 0; }
.pt-toolbar input.text-input { width: 230px; }
.pt-toolbar select.text-input { width: 132px; cursor: pointer; background: #fff; }
.pt-toolbar .pt-count { margin: 0 0 0 auto; font-size: 13px; color: #8F959E; }

/* 表格外层：圆角卡片 + 横向滚动兜底（列多时不撑破页面） */
.pt-scroll { overflow-x: auto; border: 1px solid #EBEDF0; border-radius: 10px; background: #fff; }
.pt-tbl { font-size: 13.5px; }
.pt-tbl th { background: #FAFBFC; color: #8F959E; font-weight: 600; border-bottom: 1px solid #EBEDF0; padding: 10px 12px; }
.pt-tbl td { border-bottom: 1px solid #F2F3F5; padding: 9px 12px; color: #1D2129; }
.pt-tbl tbody tr:last-child td { border-bottom: none; }
.pt-tbl tbody tr:nth-child(even) td { background: #FAFBFC; }
.pt-tbl tbody tr:hover td { background: #F5F8FF; }
/* 禁用/失效行：斑马纹给的是 td 背景，这里要一并覆盖，否则失效态看不出来 */
.pt-tbl tbody tr.disabled-row td { background: #F7F8FA; }
.pt-tbl td.pt-op { white-space: nowrap; }

/* 单号 / 卡号 / ID：等宽底色块，提升可读性 */
.pt-tbl .mono { font-family: Consolas, Menlo, monospace; font-size: 13px; background: #F7F8FA; border: 1px solid #F0F1F3; padding: 1px 6px; border-radius: 4px; color: #1D2129; }
.card-copy { border: none; background: none; color: #2E6CEC; cursor: pointer; font-size: 12px; padding: 0; margin-left: 6px; }
.card-copy:hover { text-decoration: underline; }

/* 卡密「按类型」统计卡：可点击筛选（分站后台卡密库存专用） */
.card-type-chip { cursor: pointer; transition: border-color .15s, box-shadow .15s, background .15s; }
.card-type-chip:hover { border-color: #2E6CEC; }
.card-type-chip.on { border-color: #2E6CEC; box-shadow: 0 0 0 2px rgba(46,108,236,.12); background: #F5F8FF; }
.card-type-chip .k { display: flex; align-items: center; justify-content: space-between; }
.card-type-chip .chip-filter { font-size: 11px; color: #2E6CEC; font-weight: 400; opacity: 0; transition: opacity .15s; }
.card-type-chip:hover .chip-filter, .card-type-chip.on .chip-filter { opacity: 1; }

/* ===== B8 · 列表皮肤深色（2026-10-02，仅 data-theme='dark' 激活；门户/后台共用） ===== */
[data-theme='dark'] .pt-toolbar .text-input { background: #20242C; border-color: #2A2E36; color: #E6E8EB; }
[data-theme='dark'] .pt-toolbar select.text-input { background: #20242C; }
[data-theme='dark'] .pt-toolbar .pt-count { color: #7B828C; }
[data-theme='dark'] .pt-scroll { border-color: #2A2E36; background: #181B21; }
[data-theme='dark'] .pt-tbl th { background: #20242C; color: #7B828C; border-bottom-color: #2A2E36; }
[data-theme='dark'] .pt-tbl td { border-bottom-color: #23262E; color: #E6E8EB; }
[data-theme='dark'] .pt-tbl tbody tr:nth-child(even) td { background: #1E2128; }
[data-theme='dark'] .pt-tbl tbody tr:hover td { background: #232A35; }
[data-theme='dark'] .pt-tbl tbody tr.disabled-row td { background: #1A1D23; }
[data-theme='dark'] .pt-tbl .mono { background: #20242C; border-color: #2A2E36; color: #E6E8EB; }
[data-theme='dark'] .card-copy { color: #8FB4FF; }
[data-theme='dark'] .card-type-chip:hover { border-color: #4C8DFF; }
[data-theme='dark'] .card-type-chip.on { border-color: #4C8DFF; box-shadow: 0 0 0 2px rgba(76,141,255,.2); background: #16243F; }
