/* 财务第三步复刻桌面信息密度；工具条固定，报表、归档预览和成本表格占满剩余工作区。 */
.step3-page {
  display: grid;
  gap: 10px;
  min-height: 760px;
}

.step3-toolbar,
.report-card,
.closing-command-card,
.step3-grid-card,
.archive-audit-card,
.production-cost-detail {
  min-width: 0;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: var(--panel);
}

.step3-toolbar,
.report-card > header,
.step3-grid-card > header,
.archive-audit-card > header,
.production-cost-detail > header,
.archive-actions {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
}

.step3-toolbar h2,
.step3-toolbar p,
.report-card h3,
.report-card p,
.step3-grid-card h3,
.step3-grid-card p,
.archive-audit-card h3,
.archive-audit-card p,
.production-cost-detail h2,
.production-cost-detail p,
.archive-actions p {
  margin: 0;
}

.step3-toolbar p,
.report-card p,
.step3-grid-card p,
.archive-audit-card p,
.production-cost-detail p,
.archive-actions p,
.step3-grid-card h3 small {
  color: var(--muted);
}

.reports-page {
  grid-template-rows: auto repeat(3, minmax(300px, 1fr));
}

.report-card,
.step3-grid-card,
.archive-audit-card {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  gap: 8px;
}

.report-table,
.report-table table {
  min-height: 0;
}

.closing-page {
  grid-template-rows: auto auto minmax(500px, 1fr) auto;
}

.closing-command-card {
  display: grid;
  grid-template-columns: 250px auto auto minmax(240px, 1fr) auto auto;
  gap: 8px;
  align-items: end;
}

.closing-split {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: 10px;
  min-height: 0;
}

.step3-boundary-note {
  margin: 0;
  padding: 10px 12px;
  border: 1px solid #f1d7a8;
  border-radius: 6px;
  background: #fffaf0;
  color: var(--warning);
}

.archive-page {
  grid-template-rows: auto auto minmax(520px, 1fr) minmax(300px, 0.65fr);
}

.archive-search-card,
.archive-audit-card {
  padding: 12px;
}

.archive-search-grid,
.archive-audit-grid {
  display: grid;
  gap: 8px;
  align-items: end;
}

.archive-search-grid {
  grid-template-columns: repeat(4, minmax(150px, 1fr)) auto;
}

.archive-actions {
  padding: 0 2px;
}

.archive-workspace {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(360px, 0.85fr);
  gap: 10px;
  min-height: 0;
}

.archive-result-table,
.archive-preview {
  min-height: 0;
  border: 1px solid var(--line);
  background: var(--panel);
}

.archive-preview {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  padding: 10px;
}

.archive-preview h3 {
  margin: 0 0 8px;
  font-size: 15px;
}

.archive-preview pre {
  min-height: 0;
  margin: 0;
  padding: 10px;
  overflow: auto;
  background: #f8fbff;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

.archive-audit-grid {
  grid-template-columns: 180px minmax(240px, 1fr) 150px 150px auto;
}

.archive-audit-table {
  min-height: 210px;
}

.production-cost-page {
  grid-template-columns: minmax(0, 1.05fr) minmax(520px, 1.15fr);
  min-height: 820px;
}

.production-cost-left {
  display: grid;
  grid-template-rows: minmax(420px, 1.05fr) minmax(320px, 0.95fr);
  gap: 10px;
  min-width: 0;
}

.production-cost-detail {
  display: grid;
  grid-template-rows: auto auto minmax(220px, 1fr) auto auto;
  gap: 12px;
  min-height: 0;
}

.production-readonly-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.production-readonly-grid input[readonly] {
  background: #f8fbff;
}

.selected-bom-card {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  min-height: 0;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 4px;
  background: #f8fbff;
}

.selected-bom-card h3 {
  margin: 0 0 8px;
  font-size: 15px;
}

.production-totals {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border: 1px solid var(--line);
  border-radius: 4px;
  background: #f8fbff;
}

.production-totals div {
  padding: 12px;
}

.production-totals span,
.production-totals strong {
  display: block;
}

.production-totals span {
  color: var(--muted);
  font-size: 12px;
}

.production-totals strong {
  margin-top: 4px;
  font-size: 20px;
}

.production-disabled-actions {
  justify-content: flex-end;
}

@media (max-width: 1320px) {
  .closing-command-card,
  .archive-search-grid,
  .archive-audit-grid {
    grid-template-columns: repeat(3, minmax(160px, 1fr));
  }

  .production-cost-page {
    grid-template-columns: minmax(0, 1fr);
  }
}
