/* 页面专属样式（03 §2.1）：流水 .pg-ledger、流水详情 .pg-ledger-entry、报表与预测 .pg-reports，以及流水弹窗内容 .dlg-ledger
   （弹窗渲染在页面根元素之外，所以用弹窗内容自己的根类）。归属 WP-F8。只用令牌变量；不写颜色值；不写 prefers-color-scheme
   （主题只由令牌切换）。 */

/* ================================================================ 流水 */
.pg-ledger .fl-locked { align-self: center; white-space: nowrap; }
.pg-ledger .fl-period { display: flex; flex-wrap: wrap; gap: var(--sp-1); }
.pg-ledger .fl-kpis { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }
.pg-ledger .fl-kpis .kpi-value { font-size: var(--fs-xl); }
.pg-ledger .fl-refs { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 2px var(--sp-1); min-width: 0; }
.pg-ledger .fl-refs .c-entity-link, .pg-ledger .fl-refs a { max-width: 100%; }
.pg-ledger .fl-pills { display: inline-flex; flex-wrap: wrap; gap: var(--sp-1); }
.pg-ledger .seg { max-width: 100%; overflow-x: auto; scrollbar-width: none; }
.pg-ledger .seg::-webkit-scrollbar { display: none; }
.pg-ledger .seg button { white-space: nowrap; flex-shrink: 0; }

/* ================================================================ 流水详情 */
.pg-ledger-entry .fl-table, .pg-reports .fl-table { width: 100%; border-collapse: collapse; font-size: var(--fs-md); }
.pg-ledger-entry .fl-table th {
  text-align: left; font-weight: 500; font-size: var(--fs-sm); color: var(--c-text-3);
  padding: 8px 16px; border-bottom: 1px solid var(--c-border); background: var(--c-surface-2);
}
.pg-ledger-entry .fl-table th.text-right, .pg-ledger-entry .fl-table td.text-right { text-align: right; }
.pg-ledger-entry .fl-table td { padding: 8px 16px; border-bottom: 1px solid var(--c-border); color: var(--c-text-2); vertical-align: top; }
.pg-ledger-entry .fl-table tr:last-child td { border-bottom: 0; }
.pg-ledger-entry .fl-pre { margin: 0; white-space: pre-wrap; max-height: 360px; overflow: auto; }
.pg-ledger-entry .el-collapse { border: 0; }
.pg-ledger-entry .el-collapse-item__header { padding: 0 16px; font-weight: 600; }
.pg-ledger-entry .el-collapse-item__content { padding: 0 16px 16px; }
.pg-ledger-entry .timeline { padding: 16px; }
.pg-ledger-entry .timeline .diff-old, .pg-ledger-entry .timeline .diff-new { word-break: break-all; }

/* ================================================================ 流水弹窗（手工记账、锁账、冲正、改备注） */
.dlg-ledger .el-form-item__content { flex-direction: column; align-items: flex-start; }
.dlg-ledger .el-form-item__content > .w-full, .dlg-ledger .el-form-item__content > .el-input,
.dlg-ledger .el-form-item__content > .el-textarea { width: 100%; }
.dlg-ledger .alt-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.dlg-ledger .alt-card { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.dlg-ledger .alt-card:focus-visible { outline: none; box-shadow: var(--focus-ring); }
.dlg-ledger .alt-card .form-hint { margin-top: 0; }
.dlg-ledger-alloc { margin-top: var(--sp-2); padding: var(--sp-3); border: 1px solid var(--c-border); border-radius: var(--r-md); background: var(--c-surface-2); }
.dlg-ledger-period {
  display: flex; align-items: flex-start; gap: var(--sp-3); padding: var(--sp-2) 0; border-bottom: 1px solid var(--c-border);
}
.dlg-ledger-period:last-of-type { border-bottom: 0; }
.dlg-ledger-amount { width: 180px; flex-shrink: 0; }

/* ================================================================ 报表与预测 */
.pg-reports .page-head .actions { flex-wrap: wrap; justify-content: flex-end; }
.pg-reports .rpt-range { width: 280px; }
.pg-reports .rpt-tabs > .el-tabs__header { margin-bottom: var(--sp-3); }
.pg-reports .rpt-scope { display: flex; gap: var(--sp-1); flex-wrap: wrap; }
.pg-reports .rpt-controls { display: flex; align-items: center; gap: var(--sp-3); flex-wrap: wrap; }
.pg-reports .rpt-tab .card + .card { margin-top: var(--sp-4); }
.pg-reports .rpt-tab .card-body + .c-data-table, .pg-reports .rpt-tab .card-body + div { border-top: 1px solid var(--c-border); }
.pg-reports .rpt-two { display: inline-flex; flex-direction: column; align-items: flex-end; line-height: 1.35; }
.pg-reports .rpt-sub { font-size: var(--fs-xs); color: var(--c-text-3); }
.pg-reports .rpt-sub.warn { color: var(--c-warn-ink); }
.pg-reports .el-alert__description a { color: var(--c-brand); }
.pg-reports .seg { max-width: 100%; overflow-x: auto; scrollbar-width: none; }
.pg-reports .seg::-webkit-scrollbar { display: none; }
.pg-reports .seg button { white-space: nowrap; flex-shrink: 0; }

@media (max-width: 900px) {
  .pg-ledger .fl-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pg-ledger .fl-locked { width: 100%; }
  .dlg-ledger .alt-cards { grid-template-columns: minmax(0, 1fr); }
  .dlg-ledger-period { flex-direction: column; gap: var(--sp-1); }
  .dlg-ledger-amount { width: 100%; }
  .pg-reports .rpt-range { width: 100%; }
  .pg-reports .page-head .actions { justify-content: flex-start; width: 100%; }
  .pg-reports .rpt-controls { gap: var(--sp-2); }
  .pg-reports .rpt-controls .el-date-editor { width: 100%; }
  .pg-ledger-entry .fl-table th, .pg-ledger-entry .fl-table td { padding: 8px 12px; }
}
