/* 流水页（U-04、U-05）。颜色只用 base.css 的变量；按 1280×720 一屏放下，表格只在自己区里滚。 */
.board.flow { display: flex; flex-direction: column; min-height: 0; min-width: 0; position: relative; }
.flow [hidden] { display: none !important; }

/* ---------- 筛选一行 ---------- */
.fbar { display: flex; gap: 6px; align-items: center; padding: 10px 14px 6px 18px; min-width: 0; }
.fbar.off { display: none; }
.fbar select {
  width: auto; flex: 0 1 auto; max-width: 112px; font-size: 13px; padding: 4px 4px; color: var(--muted);
  text-overflow: ellipsis;
}
.fbar select.on { color: var(--ink); border-color: var(--ink); }
.fbar .dr { padding: 4px 8px; white-space: nowrap; color: var(--muted); flex: none; }
.fbar .dr b { color: var(--ink); font: 500 14px var(--num); }
.fbar .dr.on { border-color: var(--ink); }
.fbar .dr kbd { font-size: 11px; }
.fbar .ck { flex-direction: row; align-items: center; gap: 4px; white-space: nowrap; font-size: 13px; color: var(--ink); cursor: pointer; flex: none; }
.fbar .ck input { width: auto; margin: 0; }
.srch { flex: 1 1 140px; min-width: 120px; position: relative; }
.srch input { font-size: 13px; padding: 4px 22px 4px 8px; }
.srch kbd { position: absolute; right: 8px; top: 5px; color: var(--muted); font-size: 12px; pointer-events: none; }
.srch input:focus + kbd { display: none; }

/* 日期范围浮层 */
.dpop { top: 42px; left: 18px; right: auto; width: 300px; }
.dpop .pre { display: flex; gap: 4px; flex-wrap: wrap; }
.dpop .pre .sec { padding: 3px 8px; }

/* ---------- 工具一行 ---------- */
.tbar { display: flex; align-items: center; gap: 8px; padding: 0 14px 6px 18px; min-height: 30px; white-space: nowrap; }
.tabs { display: flex; gap: 2px; margin-right: 6px; }
.tabs button { background: none; border: 0; padding: 3px 9px; color: var(--muted); cursor: pointer; }
.tabs button:hover { color: var(--ink); }
.tabs button.on { background: var(--ink); color: var(--sheet); }
.tabs kbd { font-size: 11px; opacity: .6; margin-left: 4px; }
.selinfo { color: var(--muted); }
.selinfo b { color: var(--ink); font: 600 14px var(--num); }
.selinfo .lnk { font-size: 12px; margin-left: 6px; }
.selinfo .lnk kbd, .lnk kbd { color: var(--muted); margin-left: 3px; }
.tbar .msg { color: var(--muted); font-size: 12px; overflow: hidden; text-overflow: ellipsis; min-width: 0; flex: 1; }
.tbar .sec { padding: 3px 9px; }

/* ---------- 表格 ---------- */
.lscroll { flex: 1; overflow-y: auto; min-height: 0; border-top: 1px solid var(--line); }
table.flow-t { width: 100%; border-collapse: collapse; table-layout: fixed; }
.flow-t .c-ck { width: 34px; } .flow-t .c-d { width: 52px; } .flow-t .c-k { width: 40px; } .flow-t .c-n { width: 106px; }
.flow-t .c-o { width: 88px; } .flow-t .c-r { width: 54px; } .flow-t .c-a { width: 104px; } .flow-t .c-w { width: 58px; }
.flow-t .c-t { width: 88px; }
.flow-t thead th {
  position: sticky; top: 0; z-index: 1; background: var(--sheet); font-size: 12px; color: var(--muted);
  font-weight: 400; text-align: left; padding: 4px 6px; border-bottom: 1px solid var(--ink); white-space: nowrap;
}
.flow-t thead th.r { text-align: right; }
.flow-t tbody tr { border-bottom: 1px solid var(--line); cursor: pointer; }
.flow-t td { padding: 3px 6px; height: 28px; line-height: 20px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.flow-t td.ck { padding-left: 16px; text-overflow: clip; }
.flow-t td.ck input { width: auto; margin: 0; vertical-align: -2px; cursor: pointer; }
.flow-t th:last-child, .flow-t td:last-child { padding-right: 14px; }
.flow-t td.r { text-align: right; font-family: var(--num); font-size: 14px; }
.flow-t td.d { text-align: left; }
.flow-t td.t { font-size: 13px; }
.flow-t td.m { color: var(--muted); }
.flow-t .sw { display: inline-block; width: 9px; height: 9px; margin-right: 6px; vertical-align: 0; }
.flow-t tbody tr:hover td { background: var(--hover); }
.flow-t tr.sel td, .flow-t tr.editing td { background: var(--hover); }
.flow-t tr.sel td:first-child, .flow-t tr.editing td:first-child { box-shadow: inset 3px 0 var(--act); }
.flow-t tr.chk td { background: var(--hover); }
.flow-t tr.chk td.ck { box-shadow: inset 3px 0 var(--ink); }
.flow-t tr.wait td { background: var(--wait-bg); }
.flow-t tr.wait td:first-child { box-shadow: inset 3px 0 var(--wait); }
.flow-t tr.wait.sel td:first-child { box-shadow: inset 3px 0 var(--act); }
.flow-t tr.wait td.amt { color: var(--muted); }
.flow-t tr.del td:not(.ck):not(.t) { text-decoration: line-through; color: var(--muted); }
.flow-t tr.del td.amt { color: var(--muted); }
.flow-t .rst { font-size: 13px; }
.flow .empty { padding: 26px 18px; color: var(--muted); font-size: 14px; display: flex; gap: 12px; align-items: baseline; }

/* ---------- 底部合计、翻页 ---------- */
.lfoot {
  border-top: 1px solid var(--ink); padding: 7px 14px 8px 18px; display: flex; align-items: center; gap: 16px;
  color: var(--muted); white-space: nowrap; min-width: 0;
}
.lfoot .tot { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.lfoot .tot b { font: 600 15px var(--num); color: var(--ink); }
.lfoot .tot b.gain { color: var(--gain); }
.lfoot .tot b.loss { color: var(--loss); }
.lfoot .orig { font-family: var(--num); font-size: 14px; }
.pager { display: flex; align-items: center; gap: 8px; }
.pager .sec { padding: 3px 9px; }
.pager .sec:disabled { color: var(--line); cursor: default; border-color: var(--line); }
.pager span { font-family: var(--num); font-size: 14px; color: var(--ink); }

/* ---------- 修改记录视图 ---------- */
.hwrap { flex: 1; min-height: 0; display: flex; flex-direction: column; border-top: 1px solid var(--line); }
.hwrap .hist th:first-child, .hwrap .hist td:first-child { padding-left: 18px; }
.hwrap .hist .c-at { width: 110px; }
.hwrap .hist .c-act { width: 112px; }

/* ---------- 批量改汇率、导出浮层 ---------- */
.bsheet { width: 680px; max-height: calc(100vh - 100px); display: flex; flex-direction: column; gap: 8px; }
.bsheet h3 { font-size: 13px; font-weight: 600; margin-top: 6px; }
.bsheet .m, .xsheet .m { color: var(--muted); }
.brow { display: grid; grid-template-columns: 200px minmax(0, 1fr); gap: 14px; align-items: end; }
.brow input { font: 16px var(--num); }
.bpv { padding-bottom: 6px; line-height: 1.5; }
.bpv b { font: 600 15px var(--num); }
.bpv .m { margin-left: 4px; }
.bl-wrap { max-height: 150px; overflow-y: auto; border-top: 1px solid var(--line); }
.bh-wrap { max-height: 130px; overflow-y: auto; border-top: 1px solid var(--line); }
table.bl, table.bh { width: 100%; border-collapse: collapse; }
.bl td, .bh td { padding: 3px 6px; border-bottom: 1px solid var(--line); white-space: nowrap; }
.bl td.r, .bh td.r { text-align: right; font-family: var(--num); font-size: 14px; }
.bl td.m, .bh td.m { color: var(--muted); }
.bh .sec { padding: 2px 8px; font-size: 12px; }
.bsheet .err:empty, .xsheet .err:empty { display: none; }
.xsheet { width: 520px; display: flex; flex-direction: column; gap: 10px; }
.xsheet .seg button { display: flex; justify-content: center; gap: 8px; align-items: baseline; }
.xsheet .seg kbd { font-size: 11px; opacity: .6; }
.xsheet label.inl input { width: auto; }
.xsheet label.inl kbd { color: var(--muted); }

/* 待确认（T-14）：接口返回过的提醒、全部确认浮层 */
.flow-t .ww { color: var(--wait); font-weight: 600; }
.tbar .cfall { color: var(--wait); border-color: var(--wait); }
.csheet { width: 520px; display: flex; flex-direction: column; gap: 10px; }
.csheet .m { color: var(--muted); }
.csheet p b { font-family: var(--num); }
.csheet .err:empty { display: none; }
