/* 粮栈农户付款样式：四个业务页 + 付款记录，弹窗复用全局 .fh-dialog / .business-dialog 外壳。 */
.pay-page { margin:0; }
.pay-page .lz-page-head h2 { margin:0; }
.pay-message { margin:0 0 14px; color:#265f46; font-size:12px; line-height:1.8; }
.pay-message:empty { display:none; }
.pay-message.error { color:#a1322c; }
.pay-page .lz-toolbar :is(input:not([type=checkbox]),select) { height:34px; padding:6px 10px; border:1px solid var(--line); border-radius:6px; color:var(--ink); background:#fff; font:13px/1.5 'Microsoft YaHei',sans-serif; caret-color:var(--brand); }
.pay-page .lz-toolbar select { min-width:120px; }
/* 全局屏幕样式把输入框最小高度抬到 38px，下拉跟着对齐，别一个高一个矮。 */
.pay-page .lz-toolbar select { min-height:38px; }
.pay-page .lz-toolbar :is(input:not([type=checkbox]),select):focus { border-color:var(--brand); box-shadow:0 0 0 3px rgba(29,78,99,.12); outline:none; }
/* 工具栏里的勾选项与输入框同一行：与整行同高、内容垂直居中，别继承全局 input 的拉宽、内边距与最小高度。 */
.pay-page .lz-toolbar .pay-check { flex:none; align-self:stretch; align-items:center; gap:6px; margin:0; line-height:1.5; white-space:nowrap; }
.pay-page .lz-toolbar .pay-check input[type=checkbox] { width:15px; height:15px; min-height:0; max-width:15px; margin:0; padding:0; accent-color:var(--brand); }
/* 筛选栏里的日期字段：标签、控件与右侧按钮同排同高。 */
.pay-page .lz-toolbar .pay-field.inline { flex-direction:row; align-items:center; gap:6px; min-width:0; white-space:nowrap; }
.pay-page .lz-toolbar .pay-field.inline input[type=date] { width:146px; flex:none; }
.pay-tilde { color:var(--muted); font-size:12px; }
.pay-page table.lz-table :is(th,td) { white-space:nowrap; }
/* 付款表列多，横向内边距收窄一档，给操作列留出并排两个按钮的位置。 */
.pay-page table.lz-table :is(th,td) { padding-left:10px; padding-right:10px; }
/* 采购结算 / 销售收款 / 财务处理：页面列表表头统一居中；数据列对齐不变，金额列仍靠右。 */
:is(#view-fin-cgcheck,#view-fin-cgrequest,#view-fin-cgreview,#view-fin-cgpay,#view-rec-cgpay,
    #view-fin-recvcheck,#view-fin-recvrequest,#view-fin-recvreview,#view-fin-sales,#view-rec-sales,
    #view-fin-refunds,#view-fin-audit,#view-fin-sum,#view-fin-reconcile,#view-fin-archive) table.lz-table thead th { text-align:center; }
/* 操作审计 / 期末归档：整表居中（表头与数据），与弹窗里的明细表口径一致。 */
:is(#view-fin-audit,#view-fin-archive) table.lz-table :is(th,td) { text-align:center; }
/* 弹窗里的明细表（逐车分配 / 登记记录 / 逐车应付）：表头与数据一起居中；上方字段块 .pay-meta 仍左对齐。 */
.pay-dialog .pay-table :is(th,td) { text-align:center; }
/* 行内小按钮公共样式（列表行内与明细弹窗共用）：描边、主操作实心、作废/冲回红色；尺寸由各上下文微调。 */
.pay-rowbtn { display:inline-flex; align-items:center; justify-content:center; gap:4px; height:26px; padding:0 8px; border:1px solid var(--line); border-radius:6px; background:#fff; color:var(--brand); font:12px/1 'Microsoft YaHei',sans-serif; white-space:nowrap; text-decoration:none; cursor:pointer; transition:background .15s ease, border-color .15s ease, color .15s ease; }
.pay-rowbtn:hover:not(:disabled) { border-color:var(--brand); background:var(--soft); text-decoration:none; }
.pay-rowbtn.primary { border-color:var(--brand); background:var(--brand); color:#fff; }
.pay-rowbtn.primary:hover:not(:disabled) { border-color:var(--brand-d); background:var(--brand-d); }
.pay-rowbtn.danger { color:#a33d32; border-color:#d6aaa4; }
.pay-rowbtn.danger:hover:not(:disabled) { border-color:#a33d32; background:#fcf0ee; }
.pay-rowbtn:disabled { border-color:var(--line); background:#f4f6f7; color:#93a1ab; cursor:not-allowed; }
.pay-rowbtn:focus-visible { outline:2px solid var(--brand); outline-offset:2px; }
.pay-ico { width:13px; height:13px; flex:none; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
/* 明细弹窗登记记录的操作列：按钮行内居中排列（td 必须保持 table-cell，用 flex 会让底色只填内容宽度）。 */
.pay-dialog .pay-table .pay-ops { white-space:nowrap; }
.pay-dialog .pay-table .pay-ops .pay-rowbtn + .pay-rowbtn { margin-left:5px; }
/* 行内按钮的危险操作（作废）保留红色语义。 */
.pay-page .pay-ops .pay-rowbtn.danger { color:#a33d32; border-color:#d6aaa4; }
.pay-page .pay-ops .pay-rowbtn.danger:hover:not(:disabled) { border-color:#a33d32; background:#fcf0ee; }
.pay-page table.lz-table td.num,.pay-page table.lz-table th.num { text-align:right; font-variant-numeric:tabular-nums; }
.pay-page .pay-ops { white-space:nowrap; }
/* 行内按钮之间留 5px：用相邻选择器而不是 gap，保证 td 仍是 table-cell、整格底色填满。 */
.pay-page .pay-ops .pay-rowbtn + .pay-rowbtn { margin-left:5px; }
/* 应付核对行内操作：逐车明细＝白底描边次级按钮，申请付款＝主色实心；同高、不换行，禁用态转灰。 */
.pay-page .pay-ops .pay-rowbtn { display:inline-flex; align-items:center; justify-content:center; height:28px; padding:0 6px; border:1px solid var(--line); border-radius:6px; background:#fff; color:var(--brand); font:12px/1 'Microsoft YaHei',sans-serif; white-space:nowrap; text-decoration:none; cursor:pointer; transition:background .15s ease, border-color .15s ease, color .15s ease; }
.pay-page .pay-ops .pay-rowbtn:hover:not(:disabled) { border-color:var(--brand); background:var(--soft); text-decoration:none; }
.pay-page .pay-ops .pay-rowbtn.primary { border-color:var(--brand); background:var(--brand); color:#fff; }
.pay-page .pay-ops .pay-rowbtn.primary:hover:not(:disabled) { border-color:var(--brand-d); background:var(--brand-d); }
.pay-page .pay-ops .pay-rowbtn:disabled { border-color:var(--line); background:#f4f6f7; color:#93a1ab; cursor:not-allowed; }
.pay-page .pay-ops .pay-rowbtn:focus-visible { outline:2px solid var(--brand); outline-offset:2px; }
.pay-page .pay-warn { background:#fff8e8; }
.pay-page .pay-warn:hover { background:#fdf1d8; }
.pay-page .pay-reversal td { color:#7a4a12; background:#fdf6ee; }

/* 状态芯片：与单据页同款圆角小徽标，六态各有颜色。 */
.pay-chip { display:inline-flex; align-items:center; padding:2px 10px; border:1px solid var(--line); border-radius:999px; background:#fff; color:var(--ink2); font-size:12px; line-height:1.6; white-space:nowrap; }
.pay-draft { border-color:#cfd8de; background:#f2f5f7; color:#5a6b78; }
.pay-pending { border-color:#e3d3ac; background:#fbf4e2; color:#7a5b12; }
.pay-returned { border-color:#d6aaa4; background:#fcf0ee; color:#a33d32; }
.pay-approved { border-color:#c2d7d0; background:#edf5f3; color:#265f46; font-weight:600; }
.pay-cancelled { border-color:#d9d5cd; background:#f4f2ee; color:#7d7568; text-decoration:line-through; }
.pay-closed { border-color:#c9d6c9; background:#eef3ea; color:#4c6152; }

.pay-pager { display:flex; align-items:center; gap:10px; padding:12px 16px; border-top:1px solid var(--line); color:var(--ink2); font-size:12px; }
.pay-pager span { margin-right:auto; }

/* 付款流水合计条。 */
.pay-totals { display:flex; flex-wrap:wrap; gap:10px 24px; padding:14px 16px; border-bottom:1px solid var(--line); background:var(--soft); }
.pay-total { display:flex; align-items:baseline; gap:8px; color:var(--ink2); font-size:12px; }
.pay-total b { color:var(--ink); font-size:15px; font-variant-numeric:tabular-nums; }
.pay-total i { margin-left:4px; color:var(--ink2); font-size:11px; font-style:normal; }
.pay-total.strong b { color:var(--brand-d); font-size:17px; font-weight:700; }

/* ---------- 弹窗内容 ---------- */
.pay-dialog { scrollbar-color:#8eaab4 var(--soft); }
.pay-wide { width:calc(100vw - 48px); max-width:1180px; }
.pay-dialog header { padding-bottom:14px; border-bottom:1px solid var(--line); }
.pay-dialog header h3 { margin-right:12px; }
.pay-dialog header [data-close] { margin-left:auto; }
.pay-intro { margin:16px 0; color:var(--ink2); line-height:1.8; }
.pay-dialog h4 { margin:20px 0 10px; color:var(--ink); font-size:14px; font-weight:600; }
.pay-meta { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px 20px; margin:16px 0; }
.pay-meta>div { min-width:0; }
.pay-meta dt { margin-bottom:4px; color:var(--ink2); font-size:12px; }
.pay-meta dd { margin:0; color:var(--ink); font-size:13px; line-height:1.6; overflow-wrap:anywhere; font-variant-numeric:tabular-nums; }

.pay-scroll { max-height:34dvh; overflow:auto; border:1px solid var(--line); border-radius:6px; scrollbar-color:#8eaab4 var(--soft); }
.pay-table { min-width:0 !important; }
.pay-table thead th { position:sticky; top:0; z-index:1; }
.pay-dialog .pay-table th,.pay-dialog .pay-table td { padding:9px 10px; font-size:12px; }
.pay-table .num { text-align:right; white-space:nowrap; font-variant-numeric:tabular-nums; }
.pay-table .pay-empty { text-align:center; color:var(--ink2); padding:20px; }
.pay-memo { white-space:normal; overflow-wrap:anywhere; color:var(--ink2); }
.pay-dialog .pay-table .pay-ops { white-space:nowrap; }
.pay-dialog .pay-table .pay-ops .lz-btn { margin:0; }
.pay-dialog .pay-table tr.pay-reversal td { background:#fdf6ee; }

.pay-form { margin-top:4px; }
.pay-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px 16px; margin:16px 0; }
.pay-grid-2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.pay-field { display:flex; min-width:0; flex-direction:column; gap:6px; margin:0; color:var(--ink2); font-size:12px; line-height:1.5; }
.pay-field.wide { grid-column:1/-1; }
.pay-dialog :is(.pay-field,.pay-check) :is(input,select,textarea) { min-width:0; max-width:100%; border:1px solid var(--line); border-radius:6px; color:var(--ink); background:#fff; font:13px/1.5 'Microsoft YaHei',sans-serif; }
.pay-field :is(input,select) { height:36px; padding:6px 10px; }
.pay-field input[type=text] { font-variant-numeric:tabular-nums; }
.pay-field textarea { padding:8px 10px; resize:vertical; }
.pay-field :is(input,select,textarea):focus { border-color:var(--brand); box-shadow:0 0 0 3px rgba(29,78,99,.10); outline:none; }
.pay-field:focus-within { color:var(--brand); }
.pay-check { display:flex; align-items:flex-start; gap:8px; margin:14px 0; color:var(--ink); font-size:12px; line-height:1.7; }
.pay-check input { width:15px; height:15px; margin:2px 0 0; padding:0; accent-color:var(--brand); flex:none; }
.pay-note { margin:10px 0; color:var(--ink2); font-size:12px; line-height:1.8; }
.pay-note.over { color:#a1322c; }
.pay-warning { margin:12px 0; padding:10px 12px; border:1px solid #e3d3ac; border-radius:6px; background:#fbf4e2; color:#765015; font-size:12px; line-height:1.7; }
.pay-error { margin:12px 0; color:#a1322c; font-size:12px; line-height:1.7; }
.pay-error:empty { display:none; }
.pay-dialog footer.pay-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; align-items:center; gap:10px; margin-top:18px; padding-top:14px; border-top:1px solid var(--line); }

.pay-events { display:flex; flex-direction:column; gap:10px; margin:0; padding:0; list-style:none; }
.pay-events li { display:grid; grid-template-columns:130px 92px 90px minmax(0,1fr); gap:12px; align-items:baseline; padding:8px 0; border-bottom:1px dashed var(--line); font-size:12px; }
.pay-events li:last-child { border-bottom:0; }
.pay-events span { color:var(--ink2); font-variant-numeric:tabular-nums; }
.pay-events b { color:var(--ink); font-weight:600; }
.pay-events i { color:var(--brand); font-style:normal; }
.pay-events p { margin:0; color:var(--ink2); line-height:1.7; overflow-wrap:anywhere; }
.pay-events .pay-empty { color:var(--ink2); font-size:12px; }

/* 登记与冲回的结果不明确时：保留操作编号，只给「核对 / 沿用编号重试」两条路。 */
.pay-uncertain { margin:18px 0; padding:16px; border:1px solid #d6aaa4; border-radius:8px; background:#fcf0ee; }
.pay-uncertain .pay-warning { margin:0 0 8px; padding:0; border:0; background:none; color:#a1322c; font-weight:600; }
.pay-uncertain code { padding:2px 6px; border-radius:4px; background:#fff; color:var(--brand-d); font-family:Consolas,monospace; }
.pay-uncertain footer.pay-actions { margin-top:12px; padding-top:12px; border-top:1px dashed #e2bab4; }

@media(max-width:760px){
  .pay-page .lz-toolbar :is(input:not([type=checkbox]),select) { height:42px; font-size:16px; }
  .pay-page table.lz-table :is(th,td) { white-space:normal; }
  .pay-meta,.pay-grid { grid-template-columns:minmax(0,1fr); }
  .pay-grid-2 { grid-template-columns:minmax(0,1fr); }
  .pay-wide { width:calc(100vw - 16px); padding:14px; }
  .pay-scroll { max-height:44dvh; }
  .pay-dialog footer.pay-actions .lz-btn { flex:1; }
  .pay-events li { grid-template-columns:minmax(0,1fr); gap:2px; }
  .pay-pager { flex-wrap:wrap; }
  .pay-pager .lz-btn { flex:1; }
}
/* 付款记录 14 列，容器比默认宽一档，避免横向滚动吞掉备注。 */
#viewPages:has(> #view-rec-pay:not([hidden])) { max-width:1560px; }

