/* 财务第二步保持桌面布局比例：表单和工具区固定，主表占满剩余工作区。 */
.step2-page {
  display: grid;
  gap: 10px;
  min-height: 760px;
}

.cash-bank-page {
  grid-template-rows: auto 205px minmax(360px, 1fr);
}

.settlement-page {
  grid-template-rows: auto 150px minmax(330px, 1fr) 170px;
}

.invoice-page {
  grid-template-rows: auto auto minmax(340px, 1fr) 190px;
}

.step2-form-card,
.step2-grid-card,
.allocation-card {
  min-width: 0;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: var(--panel);
}

.step2-grid-card {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  min-height: 0;
}

.step2-grid-card h2 {
  margin: 0 0 8px;
  font-size: 16px;
}

.step2-grid-card h2 small {
  color: var(--muted);
  font-size: 12px;
  font-weight: 400;
}

.step2-form-grid {
  display: grid;
  gap: 8px;
  align-items: end;
}

.cash-bank-form-grid,
.settlement-form-grid {
  grid-template-columns: 150px 140px 180px 110px minmax(240px, 1fr) auto;
}

.invoice-form-grid {
  grid-template-columns: 130px 150px 190px 115px minmax(230px, 1fr) auto;
}

.wide-field {
  min-width: 0;
}

.step2-safety-note {
  align-self: center;
  grid-column: span 2;
  margin: 0;
  color: var(--muted);
  line-height: 1.5;
}

.partner-split,
.aging-statement-split {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 10px minmax(0, 1fr);
  min-height: 0;
}

.partner-split > :first-child,
.aging-statement-split > :first-child {
  grid-column: 1;
}

.partner-split > :last-child,
.aging-statement-split > :last-child {
  grid-column: 3;
}

.compact-table {
  min-height: 0;
}

.compact-table table {
  min-width: 620px;
}

.allocation-card {
  display: grid;
  grid-template-rows: auto auto 105px;
  min-height: 0;
}

.allocation-form-grid {
  display: grid;
  grid-template-columns: 190px 190px 95px 120px minmax(170px, 1fr) auto auto;
  gap: 8px;
  align-items: end;
}

.allocation-grid {
  min-height: 0;
}

.wide-data-table {
  min-width: 1850px;
}

.overdue-row {
  background: #fff1f0 !important;
  color: var(--danger);
}

@media (max-width: 1240px) {
  .cash-bank-form-grid,
  .settlement-form-grid,
  .invoice-form-grid {
    grid-template-columns: repeat(4, minmax(150px, 1fr));
  }

  .step2-safety-note {
    grid-column: span 3;
  }

  .allocation-form-grid {
    grid-template-columns: repeat(4, minmax(150px, 1fr));
  }
}
