#app .project-workbench.downstream-ledger-page {
  background: #f6f8fc !important;
  color: #171b24;
  font-family: "Microsoft YaHei", "Segoe UI", sans-serif;
}

/* 执行总览采用普通字重，金额、合同名称、合计和说明保持同一层级。 */
#app .project-workbench.downstream-execution-overview-page,
#app .project-workbench.downstream-execution-overview-page * {
  font-weight: 400 !important;
}

#app .project-workbench.downstream-ledger-page .project-side {
  width: 276px !important;
  min-width: 276px !important;
  background: linear-gradient(180deg, #163e98, #0f57b8) !important;
}

#app .project-workbench.downstream-ledger-page .project-top {
  height: 66px !important;
  padding: 0 38px !important;
  border-bottom: 1px solid #e4e9f2 !important;
  background: #f6f8fc !important;
  color: #7c8798;
  box-shadow: none !important;
}

#app .project-workbench.downstream-ledger-page .project-top .project-page-trail {
  min-height: 66px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #7c8798;
  font-size: 14px;
}

#app .project-workbench.downstream-ledger-page .project-page-trail button,
#app .project-workbench.downstream-ledger-page .project-page-trail span {
  color: #7c8798;
  font-size: 14px;
}

#app .project-workbench.downstream-ledger-page .project-page-trail button[data-route="project-home"] {
  max-width: none !important;
  flex: 0 0 auto;
  overflow: visible;
  text-overflow: clip;
  white-space: nowrap;
}

#app .project-workbench.downstream-ledger-page .project-page-trail i {
  margin: 0 9px;
  color: #bbc4d1;
}

#app .project-workbench.downstream-ledger-page .project-top-return,
#app .project-workbench.downstream-ledger-page .back-projects {
  color: #245ca4;
  font-size: 14px;
}

#app .project-workbench.downstream-ledger-page .project-workspace {
  padding: 0 38px 52px !important;
}

#app .project-workbench.downstream-ledger-page .project-context.compact {
  margin: 27px 0 18px !important;
}

#app .project-workbench.downstream-ledger-page .project-context.compact h1 {
  margin: 0 0 8px;
  color: #171b24;
  font-size: 27px;
}

#app .project-workbench.downstream-ledger-page .project-context-meta {
  gap: 18px;
  color: #7c8798;
  font-size: 13px;
}

#app .project-workbench.downstream-ledger-page .form-panel.business-workspace {
  display: block !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

#app .project-workbench.downstream-ledger-page .business-tabs {
  margin-bottom: 20px !important;
}

#app .project-workbench.downstream-ledger-page .settlement-ledger-layout,
#app .project-workbench.downstream-ledger-page .invoice-ledger-layout,
#app .project-workbench.downstream-ledger-page .receipt-ledger-layout {
  position: relative;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 292px !important;
  gap: 20px !important;
  align-items: start;
  min-height: 0 !important;
}

#app .project-workbench.downstream-ledger-page .settlement-ledger-main,
#app .project-workbench.downstream-ledger-page .invoice-ledger-main,
#app .project-workbench.downstream-ledger-page .receipt-ledger-main {
  display: grid !important;
  grid-column: 1;
  grid-row: 1;
  min-width: 0;
  gap: 16px !important;
}

#app .project-workbench.downstream-ledger-page .settlement-ledger-metrics,
#app .project-workbench.downstream-ledger-page .invoice-ledger-metrics,
#app .project-workbench.downstream-ledger-page .receipt-ledger-metrics {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 10px !important;
  margin: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

#app .project-workbench.downstream-ledger-page .settlement-ledger-metrics article,
#app .project-workbench.downstream-ledger-page .invoice-ledger-metrics article,
#app .project-workbench.downstream-ledger-page .receipt-ledger-metrics article {
  display: flex !important;
  flex-direction: row !important;
  align-items: center;
  gap: 12px;
  min-width: 0;
  min-height: 104px !important;
  padding: 12px 20px !important;
  border: 1px solid #dbe5f2 !important;
  border-radius: 10px !important;
  background: #fff !important;
  box-shadow: 0 4px 16px #1949800d !important;
}

#app .project-workbench.downstream-ledger-page .settlement-ledger-metrics article > div,
#app .project-workbench.downstream-ledger-page .invoice-ledger-metrics article > div,
#app .project-workbench.downstream-ledger-page .receipt-ledger-metrics article > div {
  display: grid;
  min-width: 0;
  gap: 8px;
  padding-top: 3px;
}

#app .project-workbench.downstream-ledger-page .settlement-ledger-metrics article > div > span,
#app .project-workbench.downstream-ledger-page .settlement-ledger-metrics article > div > small,
#app .project-workbench.downstream-ledger-page .invoice-ledger-metrics article > div > span,
#app .project-workbench.downstream-ledger-page .invoice-ledger-metrics article > div > small,
#app .project-workbench.downstream-ledger-page .receipt-ledger-metrics article > div > span,
#app .project-workbench.downstream-ledger-page .receipt-ledger-metrics article > div > small {
  overflow: hidden;
  color: #7c8798;
  font-size: 12px;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#app .project-workbench.downstream-ledger-page .settlement-ledger-metrics article > div > strong,
#app .project-workbench.downstream-ledger-page .invoice-ledger-metrics article > div > strong,
#app .project-workbench.downstream-ledger-page .receipt-ledger-metrics article > div > strong {
  margin: 0 !important;
  font-size: 23px;
  line-height: 1.1;
  letter-spacing: .2px;
}

#app .project-workbench.downstream-ledger-page .v5-metric-icon {
  flex: 0 0 42px;
}

#app .project-workbench.downstream-ledger-page .tone-blue {
  color: #1f5fa9;
}

#app .project-workbench.downstream-ledger-page .tone-green {
  color: #138a63;
}

#app .project-workbench.downstream-ledger-page .tone-orange {
  color: #bf7411;
}

#app .project-workbench.downstream-ledger-page .business-live-ledger {
  overflow: hidden !important;
  min-width: 0;
  padding: 0 !important;
  border: 1px solid var(--ui-table-border-shell) !important;
  border-radius: 10px !important;
  background: #fff !important;
  box-shadow: 0 4px 16px #1949800d !important;
}

#app .project-workbench.downstream-ledger-page .ledger-prototype-toolbar,
#app .project-workbench.downstream-ledger-page .invoice-table-toolbar,
#app .project-workbench.downstream-ledger-page .receipt-ledger-toolbar {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 58px !important;
  padding: 12px 20px !important;
  border-bottom: 1px solid #e4e9f2 !important;
  background: #fff !important;
}

#app .project-workbench.downstream-ledger-page .ledger-prototype-filter,
#app .project-workbench.downstream-ledger-page .ledger-prototype-actions,
#app .project-workbench.downstream-ledger-page .invoice-filter-lite,
#app .project-workbench.downstream-ledger-page .invoice-table-actions,
#app .project-workbench.downstream-ledger-page .receipt-ledger-filter,
#app .project-workbench.downstream-ledger-page .receipt-ledger-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

#app .project-workbench.downstream-ledger-page .ledger-prototype-filter > span,
#app .project-workbench.downstream-ledger-page .invoice-filter-lite > span,
#app .project-workbench.downstream-ledger-page .receipt-ledger-filter > span {
  flex: 0 0 auto;
  color: #7c8798;
  font-size: 13px;
}

#app .project-workbench.downstream-ledger-page .ledger-prototype-filter > i,
#app .project-workbench.downstream-ledger-page .invoice-filter-lite > i,
#app .project-workbench.downstream-ledger-page .receipt-ledger-filter > i {
  flex: 0 0 auto;
  color: #a1abb9;
  font-style: normal;
}

#app .project-workbench.downstream-ledger-page .ledger-prototype-filter .input,
#app .project-workbench.downstream-ledger-page .invoice-filter-lite .input,
#app .project-workbench.downstream-ledger-page .receipt-ledger-filter .input {
  width: 104px !important;
  height: 32px !important;
  min-height: 32px !important;
  padding: 0 9px !important;
  border: 1px solid #d8e0eb !important;
  border-radius: 5px !important;
  color: #425168 !important;
  font-size: 13px !important;
  box-shadow: none !important;
}

#app .project-workbench.downstream-ledger-page .ledger-prototype-filter #business-contract,
#app .project-workbench.downstream-ledger-page .receipt-ledger-filter #business-contract,
#app .project-workbench.downstream-ledger-page .receipt-ledger-filter #business-transfer-method {
  width: 138px !important;
}

#app .project-workbench.downstream-ledger-page .ledger-prototype-filter #business-keyword,
#app .project-workbench.downstream-ledger-page .invoice-filter-lite #business-keyword,
#app .project-workbench.downstream-ledger-page .receipt-ledger-filter #business-keyword {
  width: 220px !important;
}

/* 合同筛选框保持原宽度，展开层单独显示完整的单位、类型和金额。 */
#app .project-workbench.downstream-ledger-page .contract-dropdown-picker {
  position: relative;
  display: inline-flex;
  flex: 0 0 auto;
  width: 138px;
  min-width: 0;
}

#app .project-workbench.downstream-ledger-page .invoice-filter-lite .contract-dropdown-picker {
  width: 104px;
}

#app .project-workbench.downstream-execution-overview-page .downstream-execution-toolbar .contract-dropdown-picker {
  width: 220px;
}

#app .project-workbench.downstream-ledger-page .contract-dropdown-picker > select {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

#app .project-workbench.downstream-ledger-page .contract-dropdown-trigger {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  min-width: 0;
  overflow: hidden;
  text-align: left;
  white-space: nowrap;
  cursor: pointer;
}

#app .project-workbench.downstream-ledger-page .contract-dropdown-trigger:disabled {
  cursor: not-allowed;
}

#app .project-workbench.downstream-ledger-page .contract-dropdown-label {
  display: block;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#app .project-workbench.downstream-ledger-page .contract-dropdown-chevron {
  flex: 0 0 7px;
  width: 7px;
  height: 7px;
  margin: -4px 2px 0 8px;
  border-right: 1.5px solid #65758b;
  border-bottom: 1.5px solid #65758b;
  transform: rotate(45deg);
}

#app .project-workbench.downstream-ledger-page .contract-dropdown-options {
  position: fixed;
  z-index: 10060;
  box-sizing: border-box;
  max-width: calc(100vw - 24px);
  max-height: min(360px, calc(100vh - 24px));
  overflow: auto;
  padding: 4px;
  border: 1px solid #cbd8e8;
  border-radius: 6px;
  background: #fff;
  box-shadow: 0 8px 22px #18396924;
}

#app .project-workbench.downstream-ledger-page .contract-dropdown-options[hidden] {
  display: none !important;
}

#app .project-workbench.downstream-ledger-page .contract-dropdown-options button {
  display: block;
  width: 100%;
  padding: 8px 10px;
  border: 0;
  border-radius: 4px;
  background: transparent;
  color: #29466b;
  font: 13px/1.45 "Microsoft YaHei", "Segoe UI", sans-serif;
  text-align: left;
  white-space: normal;
  overflow-wrap: anywhere;
  cursor: pointer;
}

#app .project-workbench.downstream-ledger-page .contract-dropdown-options button:hover,
#app .project-workbench.downstream-ledger-page .contract-dropdown-options button:focus-visible,
#app .project-workbench.downstream-ledger-page .contract-dropdown-options button.active {
  background: #eaf2ff;
  color: #1557ae;
  outline: none;
}

#app .project-workbench.downstream-ledger-page .ledger-prototype-actions .btn,
#app .project-workbench.downstream-ledger-page .invoice-table-actions .btn,
#app .project-workbench.downstream-ledger-page .receipt-ledger-actions .btn,
#app .project-workbench.downstream-ledger-page .settlement-detail-actions .btn,
#app .project-workbench.downstream-ledger-page .invoice-detail-actions .btn,
#app .project-workbench.downstream-ledger-page .receipt-detail-actions .btn {
  height: 34px !important;
  min-height: 34px !important;
  padding: 0 13px !important;
  border: 1px solid #d8e0eb !important;
  border-radius: 5px !important;
  background: #fff !important;
  color: #425168 !important;
  font-size: 13px !important;
  font-weight: 400;
  white-space: nowrap;
  box-shadow: none !important;
}

#app .project-workbench.downstream-ledger-page .ledger-prototype-actions .btn.primary,
#app .project-workbench.downstream-ledger-page .invoice-table-actions .btn.primary,
#app .project-workbench.downstream-ledger-page .receipt-ledger-actions .btn.primary,
#app .project-workbench.downstream-ledger-page .settlement-detail-actions .btn.primary,
#app .project-workbench.downstream-ledger-page .invoice-detail-actions .btn.primary,
#app .project-workbench.downstream-ledger-page .receipt-detail-actions .btn.primary,
#app .project-workbench.downstream-ledger-page .settlement-entry-modal .btn.primary,
#app .project-workbench.downstream-ledger-page .invoice-entry-modal .btn.primary,
#app .project-workbench.downstream-ledger-page .receipt-entry-modal .btn.primary {
  border: 0 !important;
  background: linear-gradient(180deg, #163e98, #0f57b8) !important;
  color: #fff !important;
}

#app .project-workbench.downstream-ledger-page .business-record-table {
  max-height: none !important;
  margin: 0 !important;
  overflow-x: auto !important;
  border: 0 !important;
  border-radius: 0 !important;
}

#app .project-workbench.downstream-ledger-page .business-record-table table {
  width: 100%;
  min-width: 980px;
  table-layout: fixed;
  border: 0 !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
}

#app .project-workbench.downstream-ledger-page .business-record-table thead th {
  border-top: 0 !important;
  border-right: 1px solid var(--ui-table-border-control) !important;
  border-bottom: 1px solid var(--ui-table-border-control) !important;
  border-left: 0 !important;
}

#app .project-workbench.downstream-ledger-page .business-record-table thead th:last-child,
#app .project-workbench.downstream-ledger-page .business-record-table tbody td:last-child,
#app .project-workbench.downstream-ledger-page .business-record-table tfoot td:last-child {
  border-right: 0 !important;
}

#app .project-workbench.downstream-ledger-page .business-record-table tbody td {
  border-top: 1px solid var(--ui-table-border-divider) !important;
  border-right: 1px solid var(--ui-table-border-divider) !important;
  border-bottom: 0 !important;
  border-left: 0 !important;
}

#app .project-workbench.downstream-ledger-page .business-record-table tfoot td {
  border-top: 1px solid var(--ui-table-border-control) !important;
  border-right: 1px solid var(--ui-table-border-divider) !important;
  border-bottom: 0 !important;
  border-left: 0 !important;
}

#app .project-workbench.downstream-ledger-page .business-table-alert.project-balance-alert {
  min-height: 0;
  margin: 0 !important;
  padding: 10px 20px !important;
  border: 0 !important;
  border-top: 1px solid #f0d59b !important;
  border-radius: 0 !important;
  background: #fff9ea !important;
  color: #865d13 !important;
  font-size: 12px;
  line-height: 1.5;
  box-shadow: none !important;
}

#app .project-workbench.downstream-ledger-page .business-record-table th {
  padding: 12px 10px !important;
  background: #f1f5fb !important;
  color: #3c4654 !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  text-align: center !important;
  vertical-align: middle;
  white-space: nowrap;
}

#app .project-workbench.downstream-ledger-page .business-record-table td {
  padding: 13px 10px !important;
  color: #171b24 !important;
  font-size: 13px !important;
  line-height: 1.45;
  border-top: 1px solid var(--ui-table-border-divider) !important;
  border-bottom: 0 !important;
}

#app .project-workbench.downstream-ledger-page .business-record-table th:first-child,
#app .project-workbench.downstream-ledger-page .business-record-table td:first-child,
#app .project-workbench.downstream-ledger-page .cell-center,
#app .project-workbench.downstream-ledger-page .business-row-actions {
  text-align: center !important;
}

#app .project-workbench.downstream-ledger-page .cell-money,
#app .project-workbench.downstream-ledger-page .business-record-table .right {
  text-align: right !important;
}

#app .project-workbench.downstream-ledger-page .business-total-row td {
  padding: 12px 10px !important;
  background: #eef5ff !important;
  color: #171b24 !important;
  border-top: 1px solid var(--ui-table-border-control) !important;
  font-weight: 700;
}

#app .project-workbench.downstream-ledger-page .business-record-table tbody tr.business-record-selected td {
  background: #f8fbff !important;
}

#app .project-workbench.downstream-ledger-page .business-record-table tbody tr.business-record-selected td:first-child {
  border-left: 3px solid #1769e8 !important;
}

#app .project-workbench.downstream-ledger-page .business-row-actions {
  white-space: nowrap !important;
}

#app .project-workbench.downstream-ledger-page .business-row-actions .text-btn {
  white-space: nowrap;
}

#app .project-workbench.downstream-ledger-page .settlement-record-detail,
#app .project-workbench.downstream-ledger-page .invoice-record-detail,
#app .project-workbench.downstream-ledger-page .receipt-record-detail {
  grid-column: 2;
  grid-row: 1;
  overflow: hidden !important;
  border: 1px solid #dbe5f2 !important;
  border-radius: 10px !important;
  background: #fff !important;
  box-shadow: 0 4px 16px #1949800d !important;
}

#app .project-workbench.downstream-ledger-page .settlement-detail-head,
#app .project-workbench.downstream-ledger-page .invoice-detail-head,
#app .project-workbench.downstream-ledger-page .receipt-detail-head {
  padding: 18px 19px 14px !important;
  border-bottom: 1px solid #e4e9f2 !important;
}

#app .project-workbench.downstream-ledger-page .settlement-detail-head h2,
#app .project-workbench.downstream-ledger-page .invoice-detail-head h2,
#app .project-workbench.downstream-ledger-page .receipt-detail-head h2 {
  margin: 0 0 7px;
  color: #171b24;
  font-size: 17px;
  line-height: 1.3;
}

#app .project-workbench.downstream-ledger-page .settlement-detail-head p,
#app .project-workbench.downstream-ledger-page .invoice-detail-head p,
#app .project-workbench.downstream-ledger-page .receipt-detail-head p {
  margin: 0;
  color: #7c8798;
  font-size: 12px;
  line-height: 1.45;
}

#app .project-workbench.downstream-ledger-page .settlement-detail-body,
#app .project-workbench.downstream-ledger-page .invoice-detail-body,
#app .project-workbench.downstream-ledger-page .receipt-detail-body {
  padding: 0 19px 17px !important;
}

#app .project-workbench.downstream-ledger-page .settlement-detail-amount,
#app .project-workbench.downstream-ledger-page .invoice-detail-amount,
#app .project-workbench.downstream-ledger-page .receipt-detail-amount {
  display: flex;
  flex-direction: column;
  gap: 5px;
  padding: 17px 0;
  border-bottom: 1px solid #e7ebf2;
}

#app .project-workbench.downstream-ledger-page .settlement-detail-amount span,
#app .project-workbench.downstream-ledger-page .invoice-detail-amount span,
#app .project-workbench.downstream-ledger-page .receipt-detail-amount span,
#app .project-workbench.downstream-ledger-page .settlement-detail-body dt,
#app .project-workbench.downstream-ledger-page .invoice-detail-body dt,
#app .project-workbench.downstream-ledger-page .receipt-detail-body dt {
  color: #7c8798;
  font-size: 12px;
  font-weight: 400;
}

#app .project-workbench.downstream-ledger-page .settlement-detail-amount b,
#app .project-workbench.downstream-ledger-page .invoice-detail-amount b,
#app .project-workbench.downstream-ledger-page .receipt-detail-amount b {
  color: #1f5fa9;
  font-size: 25px;
  line-height: 1.2;
}

#app .project-workbench.downstream-ledger-page .settlement-detail-body dl,
#app .project-workbench.downstream-ledger-page .invoice-detail-body dl,
#app .project-workbench.downstream-ledger-page .receipt-detail-body dl {
  margin: 0;
}

#app .project-workbench.downstream-ledger-page .settlement-detail-body dl > div,
#app .project-workbench.downstream-ledger-page .invoice-detail-body dl > div,
#app .project-workbench.downstream-ledger-page .receipt-detail-body dl > div {
  padding: 14px 0;
  border-bottom: 1px solid #e7ebf2;
}

#app .project-workbench.downstream-ledger-page .settlement-detail-body dt,
#app .project-workbench.downstream-ledger-page .invoice-detail-body dt,
#app .project-workbench.downstream-ledger-page .receipt-detail-body dt {
  margin: 0 0 6px;
}

#app .project-workbench.downstream-ledger-page .settlement-detail-body dd,
#app .project-workbench.downstream-ledger-page .invoice-detail-body dd,
#app .project-workbench.downstream-ledger-page .receipt-detail-body dd {
  margin: 0;
  color: #171b24;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.55;
  overflow-wrap: anywhere;
}

#app .project-workbench.downstream-ledger-page .settlement-detail-actions,
#app .project-workbench.downstream-ledger-page .invoice-detail-actions,
#app .project-workbench.downstream-ledger-page .receipt-detail-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-top: 17px;
}

#app .project-workbench.downstream-ledger-page .settlement-entry-dialog[hidden],
#app .project-workbench.downstream-ledger-page .invoice-entry-dialog[hidden],
#app .project-workbench.downstream-ledger-page .receipt-entry-dialog[hidden] {
  display: none !important;
}

#app .project-workbench.downstream-ledger-page .settlement-entry-dialog,
#app .project-workbench.downstream-ledger-page .invoice-entry-dialog,
#app .project-workbench.downstream-ledger-page .receipt-entry-dialog {
  position: fixed;
  z-index: 100;
  inset: 0;
  display: grid;
  padding: 26px;
  background: #18233166;
  place-items: center;
}

#app .project-workbench.downstream-ledger-page .settlement-entry-modal,
#app .project-workbench.downstream-ledger-page .invoice-entry-modal,
#app .project-workbench.downstream-ledger-page .receipt-entry-modal {
  width: min(760px, calc(100vw - 32px));
  max-height: calc(100vh - 52px);
  overflow: auto;
  padding: 0;
  border: 1px solid #dbe5f2;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 18px 54px #0a235840;
}

#app .project-workbench.downstream-ledger-page .settlement-entry-modal-head,
#app .project-workbench.downstream-ledger-page .invoice-entry-modal-head,
#app .project-workbench.downstream-ledger-page .receipt-entry-modal-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 19px 22px;
  border-bottom: 1px solid #e4e9f2;
}

#app .project-workbench.downstream-ledger-page .settlement-entry-modal-head h2,
#app .project-workbench.downstream-ledger-page .invoice-entry-modal-head h2,
#app .project-workbench.downstream-ledger-page .receipt-entry-modal-head h2 {
  margin: 0;
  color: #171b24;
  font-size: 18px;
}

#app .project-workbench.downstream-ledger-page .settlement-entry-modal-head .text-btn,
#app .project-workbench.downstream-ledger-page .invoice-entry-modal-head .text-btn,
#app .project-workbench.downstream-ledger-page .receipt-entry-modal-head .text-btn {
  padding: 0;
  border: 0;
  background: transparent;
  color: #7c8798;
  font-size: 25px;
  line-height: 1;
}

#app .project-workbench.downstream-ledger-page .settlement-entry-modal .form-grid,
#app .project-workbench.downstream-ledger-page .invoice-entry-modal .form-grid,
#app .project-workbench.downstream-ledger-page .receipt-entry-modal .form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px 18px;
  padding: 20px 22px 5px;
}

#app .project-workbench.downstream-ledger-page .settlement-entry-modal .field,
#app .project-workbench.downstream-ledger-page .invoice-entry-modal .field,
#app .project-workbench.downstream-ledger-page .receipt-entry-modal .field {
  margin: 0;
}

#app .project-workbench.downstream-ledger-page .settlement-entry-modal .form-actions,
#app .project-workbench.downstream-ledger-page .invoice-entry-modal .form-actions,
#app .project-workbench.downstream-ledger-page .receipt-entry-modal .form-actions {
  display: flex;
  justify-content: flex-end;
  gap: 9px;
  padding: 15px 22px 20px;
  border-top: 1px solid #e4e9f2;
}

@media (max-width: 1500px) {
  #app .project-workbench.downstream-ledger-page .settlement-ledger-layout,
  #app .project-workbench.downstream-ledger-page .invoice-ledger-layout,
  #app .project-workbench.downstream-ledger-page .receipt-ledger-layout {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  #app .project-workbench.downstream-ledger-page .settlement-record-detail,
  #app .project-workbench.downstream-ledger-page .invoice-record-detail,
  #app .project-workbench.downstream-ledger-page .receipt-record-detail {
    display: none;
  }
}

@media (max-width: 1250px) {
  #app .project-workbench.downstream-ledger-page .project-workspace,
  #app .project-workbench.downstream-ledger-page .project-top {
    padding-right: 14px !important;
    padding-left: 14px !important;
  }

  #app .project-workbench.downstream-ledger-page .ledger-prototype-filter .input,
  #app .project-workbench.downstream-ledger-page .invoice-filter-lite .input,
  #app .project-workbench.downstream-ledger-page .receipt-ledger-filter .input {
    width: 88px !important;
  }

  #app .project-workbench.downstream-ledger-page .ledger-prototype-filter #business-keyword,
  #app .project-workbench.downstream-ledger-page .invoice-filter-lite #business-keyword,
  #app .project-workbench.downstream-ledger-page .receipt-ledger-filter #business-keyword {
    width: 150px !important;
  }

  #app .project-workbench.downstream-ledger-page .business-record-table th,
  #app .project-workbench.downstream-ledger-page .business-record-table td {
    font-size: 12px !important;
  }
}

@media (max-width: 900px) {
  #app .project-workbench.downstream-ledger-page .settlement-ledger-metrics,
  #app .project-workbench.downstream-ledger-page .invoice-ledger-metrics,
  #app .project-workbench.downstream-ledger-page .receipt-ledger-metrics {
    grid-template-columns: 1fr !important;
  }

  #app .project-workbench.downstream-ledger-page .ledger-prototype-toolbar,
  #app .project-workbench.downstream-ledger-page .invoice-table-toolbar,
  #app .project-workbench.downstream-ledger-page .receipt-ledger-toolbar {
    align-items: stretch;
    flex-direction: column;
  }

  #app .project-workbench.downstream-ledger-page .ledger-prototype-filter,
  #app .project-workbench.downstream-ledger-page .invoice-filter-lite,
  #app .project-workbench.downstream-ledger-page .receipt-ledger-filter {
    flex-wrap: wrap;
  }

  #app .project-workbench.downstream-ledger-page .ledger-prototype-actions,
  #app .project-workbench.downstream-ledger-page .invoice-table-actions,
  #app .project-workbench.downstream-ledger-page .receipt-ledger-actions {
    justify-content: flex-end;
  }

  #app .project-workbench.downstream-ledger-page .settlement-entry-modal .form-grid,
  #app .project-workbench.downstream-ledger-page .invoice-entry-modal .form-grid,
  #app .project-workbench.downstream-ledger-page .receipt-entry-modal .form-grid {
    grid-template-columns: 1fr;
  }
}

/* 对上合同沿用对下台账的标准骨架；合同字段仍保持对上业务自身口径。 */
#app .project-workbench.upstream-contract-page.downstream-ledger-page .contract-ledger-layout {
  position: relative;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 292px !important;
  gap: 20px !important;
  align-items: start;
  min-height: 0 !important;
}

#app .project-workbench.upstream-contract-page.downstream-ledger-page .contract-ledger-main {
  display: grid !important;
  grid-column: 1;
  grid-row: 1;
  min-width: 0;
  gap: 16px !important;
}

#app .project-workbench.upstream-contract-page.downstream-ledger-page .contract-ledger-metrics {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 10px !important;
  margin: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

#app .project-workbench.upstream-contract-page.downstream-ledger-page .contract-ledger-metrics article {
  display: flex !important;
  flex-direction: row !important;
  align-items: center;
  gap: 12px;
  min-width: 0;
  min-height: 104px !important;
  padding: 12px 14px 12px 20px !important;
  border: 1px solid #dbe5f2 !important;
  border-radius: 10px !important;
  background: #fff !important;
  box-shadow: 0 4px 16px #1949800d !important;
}

#app .project-workbench.upstream-contract-page.downstream-ledger-page .contract-ledger-metrics article > div {
  display: grid;
  min-width: 0;
  gap: 8px;
  padding-top: 3px;
}

#app .project-workbench.upstream-contract-page.downstream-ledger-page .contract-ledger-metrics article > div > span,
#app .project-workbench.upstream-contract-page.downstream-ledger-page .contract-ledger-metrics article > div > small {
  overflow: hidden;
  color: #7c8798;
  font-size: 12px;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#app .project-workbench.upstream-contract-page.downstream-ledger-page .contract-ledger-metrics article > div > strong {
  margin: 0 !important;
  font-size: 20px;
  line-height: 1.1;
  letter-spacing: .2px;
}

#app .project-workbench.upstream-contract-page.downstream-ledger-page .contract-ledger-metrics .tone-blue {
  color: #1f5fa9;
}

#app .project-workbench.upstream-contract-page.downstream-ledger-page .contract-ledger-metrics .tone-green {
  color: #138a63;
}

#app .project-workbench.upstream-contract-page.downstream-ledger-page .contract-ledger-metrics .tone-purple {
  color: #7653d6;
}

#app .project-workbench.upstream-contract-page.downstream-ledger-page .contract-ledger-metrics .tone-orange {
  color: #bf7411;
}

#app .project-workbench.upstream-contract-page.downstream-ledger-page .v5-upstream-filter-card {
  display: flex;
  align-items: center;
  flex: 1 1 auto;
  gap: 8px;
  min-width: 0;
}

#app .project-workbench.upstream-contract-page.downstream-ledger-page .v5-upstream-filter-card label {
  display: flex;
  align-items: center;
  flex: 0 0 auto;
  gap: 8px;
  min-width: 0;
}

#app .project-workbench.upstream-contract-page.downstream-ledger-page .v5-upstream-filter-card label > b {
  flex: 0 0 auto;
  color: #3c4654;
  font-size: 13px;
  font-weight: 400;
  white-space: nowrap;
}

#app .project-workbench.upstream-contract-page.downstream-ledger-page .v5-upstream-filter-card .input {
  width: 104px !important;
  height: 32px !important;
  min-height: 32px !important;
  padding: 0 9px !important;
  border: 1px solid #d8e0eb !important;
  border-radius: 5px !important;
  color: #425168 !important;
  font-size: 13px !important;
  box-shadow: none !important;
}

#app .project-workbench.upstream-contract-page.downstream-ledger-page .v5-upstream-filter-card label:nth-child(2) .input {
  width: 138px !important;
}

#app .project-workbench.upstream-contract-page.downstream-ledger-page .v5-upstream-filter-card label.v5-filter-keyword {
  flex: 1 1 220px;
}

#app .project-workbench.upstream-contract-page.downstream-ledger-page .v5-upstream-filter-card label.v5-filter-keyword .input {
  width: 220px !important;
  flex: 1 1 auto;
}

#app .project-workbench.upstream-contract-page.downstream-ledger-page .v5-filter-actions {
  display: flex;
  flex: 0 0 auto;
  gap: 8px;
}

#app .project-workbench.upstream-contract-page.downstream-ledger-page .v5-filter-actions .btn,
#app .project-workbench.upstream-contract-page.downstream-ledger-page .v5-upstream-page-actions .btn {
  height: 34px !important;
  min-height: 34px !important;
  padding: 0 13px !important;
  border: 1px solid #d8e0eb !important;
  border-radius: 5px !important;
  background: #fff !important;
  color: #425168 !important;
  font-size: 13px !important;
  font-weight: 400;
  white-space: nowrap;
  box-shadow: none !important;
}

#app .project-workbench.upstream-contract-page.downstream-ledger-page .v5-upstream-page-actions {
  display: flex !important;
  align-items: center;
  flex: 0 0 auto;
  gap: 8px;
  margin: 0;
}

#app .project-workbench.upstream-contract-page.downstream-ledger-page .v5-upstream-page-actions > button {
  width: auto !important;
}

#app .project-workbench.upstream-contract-page.downstream-ledger-page .v5-filter-actions .btn.primary,
#app .project-workbench.upstream-contract-page.downstream-ledger-page .v5-upstream-page-actions .btn.primary {
  border: 0 !important;
  background: linear-gradient(180deg, #163e98, #0f57b8) !important;
  color: #fff !important;
}

#app .project-workbench.upstream-contract-page.downstream-ledger-page .contract-record-detail {
  grid-column: 2;
  grid-row: 1;
  overflow: hidden !important;
  border: 1px solid #dbe5f2 !important;
  border-radius: 10px !important;
  background: #fff !important;
  box-shadow: 0 4px 16px #1949800d !important;
}

#app .project-workbench.upstream-contract-page.downstream-ledger-page .contract-detail-head {
  padding: 18px 19px 14px !important;
  border-bottom: 1px solid #e4e9f2 !important;
}

#app .project-workbench.upstream-contract-page.downstream-ledger-page .contract-detail-head h2 {
  margin: 0 0 7px;
  color: #171b24;
  font-size: 17px;
  line-height: 1.3;
}

#app .project-workbench.upstream-contract-page.downstream-ledger-page .contract-detail-head p {
  margin: 0;
  color: #7c8798;
  font-size: 12px;
  line-height: 1.45;
}

#app .project-workbench.upstream-contract-page.downstream-ledger-page .contract-detail-body {
  padding: 0 19px 17px !important;
}

#app .project-workbench.upstream-contract-page.downstream-ledger-page .contract-detail-amount {
  display: flex;
  flex-direction: column;
  gap: 5px;
  padding: 17px 0;
  border-bottom: 1px solid #e7ebf2;
}

#app .project-workbench.upstream-contract-page.downstream-ledger-page .contract-detail-amount span,
#app .project-workbench.upstream-contract-page.downstream-ledger-page .contract-detail-body dt {
  color: #7c8798;
  font-size: 12px;
  font-weight: 400;
}

#app .project-workbench.upstream-contract-page.downstream-ledger-page .contract-detail-amount b {
  color: #1f5fa9;
  font-size: 25px;
  line-height: 1.2;
}

#app .project-workbench.upstream-contract-page.downstream-ledger-page .contract-detail-body dl {
  margin: 0;
}

#app .project-workbench.upstream-contract-page.downstream-ledger-page .contract-detail-body dl > div {
  padding: 14px 0;
  border-bottom: 1px solid #e7ebf2;
}

#app .project-workbench.upstream-contract-page.downstream-ledger-page .contract-detail-body dt {
  margin: 0 0 6px;
}

#app .project-workbench.upstream-contract-page.downstream-ledger-page .contract-detail-body dd {
  margin: 0;
  color: #171b24;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.55;
  overflow-wrap: anywhere;
}

#app .project-workbench.upstream-contract-page.downstream-ledger-page .contract-detail-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-top: 17px;
}

#app .project-workbench.upstream-contract-page.downstream-ledger-page .contract-detail-actions .btn {
  height: 34px;
  min-height: 34px;
  border: 1px solid #d8e0eb;
  border-radius: 5px;
  background: #fff;
  color: #425168;
  font-size: 13px;
  box-shadow: none;
}

#app .project-workbench.upstream-contract-page.downstream-ledger-page .contract-detail-actions .btn.primary {
  border: 0;
  background: linear-gradient(180deg, #163e98, #0f57b8);
  color: #fff;
}

#app .project-workbench.upstream-contract-page.downstream-ledger-page .v5-upstream-ledger-footer {
  min-height: 58px;
  flex-basis: 58px;
  padding: 12px 20px 0;
  border-top: 1px solid #e4e9f2;
}

@media (max-width: 1500px) {
  #app .project-workbench.upstream-contract-page.downstream-ledger-page .contract-ledger-layout {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  #app .project-workbench.upstream-contract-page.downstream-ledger-page .contract-record-detail {
    display: none;
  }
}

@media (max-width: 900px) {
  #app .project-workbench.upstream-contract-page.downstream-ledger-page .contract-ledger-metrics {
    grid-template-columns: 1fr !important;
  }

  #app .project-workbench.upstream-contract-page.downstream-ledger-page .v5-upstream-filter-card {
    flex-wrap: wrap;
  }
}

@media (max-width: 1400px) {
  #app .project-workbench.upstream-contract-page.downstream-ledger-page .ledger-prototype-toolbar {
    flex-wrap: wrap;
  }

  #app .project-workbench.upstream-contract-page.downstream-ledger-page .v5-upstream-filter-card {
    flex: 1 1 100%;
    flex-wrap: wrap;
  }

  #app .project-workbench.upstream-contract-page.downstream-ledger-page .v5-upstream-filter-card .input {
    width: 92px !important;
  }

  #app .project-workbench.upstream-contract-page.downstream-ledger-page .v5-upstream-filter-card label:nth-child(2) .input {
    width: 120px !important;
  }

  #app .project-workbench.upstream-contract-page.downstream-ledger-page .v5-upstream-filter-card label.v5-filter-keyword .input {
    width: 180px !important;
  }

  #app .project-workbench.upstream-contract-page.downstream-ledger-page .v5-upstream-page-actions {
    margin-left: auto;
  }
}

/* 八个上下游台账统一卡片图标的占位、居中方式和图文间距。 */
#app .project-workbench.downstream-contract-page .downstream-contract-ledger-metrics article,
#app .project-workbench.downstream-ledger-page .contract-ledger-metrics article,
#app .project-workbench.downstream-ledger-page .settlement-ledger-metrics article,
#app .project-workbench.downstream-ledger-page .invoice-ledger-metrics article,
#app .project-workbench.downstream-ledger-page .receipt-ledger-metrics article {
  align-items: flex-start !important;
}

#app .project-workbench.downstream-contract-page .downstream-contract-ledger-metrics article > div,
#app .project-workbench.downstream-ledger-page .contract-ledger-metrics article > div,
#app .project-workbench.downstream-ledger-page .settlement-ledger-metrics article > div,
#app .project-workbench.downstream-ledger-page .invoice-ledger-metrics article > div,
#app .project-workbench.downstream-ledger-page .receipt-ledger-metrics article > div {
  padding-top: 3px !important;
}

#app .project-workbench.downstream-ledger-page .contract-ledger-metrics article {
  padding-left: 20px !important;
  padding-right: 14px !important;
}

#app .project-workbench.downstream-contract-page .downstream-contract-ledger-metrics .v5-metric-icon,
#app .project-workbench.downstream-ledger-page .contract-ledger-metrics .v5-metric-icon,
#app .project-workbench.downstream-ledger-page .settlement-ledger-metrics .v5-metric-icon,
#app .project-workbench.downstream-ledger-page .invoice-ledger-metrics .v5-metric-icon,
#app .project-workbench.downstream-ledger-page .receipt-ledger-metrics .v5-metric-icon {
  box-sizing: border-box;
  width: 42px !important;
  height: 42px !important;
  flex: 0 0 42px !important;
  display: grid !important;
  place-items: center !important;
  margin: 0 !important;
}

/* 对上合同表头、分页和详情面板按对下合同台账的视觉规范统一。 */
#app .project-workbench.upstream-contract-page.downstream-ledger-page .business-record-table thead th {
  box-sizing: border-box;
  padding: 12px 10px !important;
  background: #f1f5fb !important;
  color: #3c4654 !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.35 !important;
  text-align: center !important;
  vertical-align: middle !important;
  white-space: nowrap !important;
  border-top: 0 !important;
  border-right: 1px solid var(--ui-table-border-control) !important;
  border-bottom: 1px solid var(--ui-table-border-control) !important;
  border-left: 0 !important;
}

#app .project-workbench.upstream-contract-page.downstream-ledger-page .business-record-table thead th:last-child {
  border-right: 0 !important;
}

#app .project-workbench.upstream-contract-page.downstream-ledger-page .v5-upstream-ledger-footer {
  min-height: 64px !important;
  flex-basis: 64px !important;
  align-items: center !important;
  padding: 12px 20px !important;
  box-sizing: border-box;
}

#app .project-workbench.upstream-contract-page.downstream-ledger-page .v5-upstream-ledger-footer > span {
  margin-top: 0 !important;
  line-height: 36px;
}

#app .project-workbench.upstream-contract-page.downstream-ledger-page .v5-ledger-pagination {
  gap: 8px;
}

#app .project-workbench.upstream-contract-page.downstream-ledger-page .v5-ledger-pagination button,
#app .project-workbench.upstream-contract-page.downstream-ledger-page .v5-ledger-pagination label {
  box-sizing: border-box;
  height: 36px;
  min-width: 36px;
  padding: 0 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #d5dfec;
  border-radius: 6px;
  background: #fff;
  color: #53627a;
  font: 13px/1 "Microsoft YaHei", sans-serif;
  white-space: nowrap;
}

#app .project-workbench.upstream-contract-page.downstream-ledger-page .v5-ledger-pagination label {
  min-width: 90px;
  gap: 6px;
}

#app .project-workbench.upstream-contract-page.downstream-ledger-page .v5-ledger-pagination label span {
  flex: 0 0 auto;
  display: inline-grid;
  width: 10px;
  height: 10px;
  place-items: center;
  font-size: 10px;
  line-height: 1;
}

#app .project-workbench.upstream-contract-page.downstream-ledger-page .v5-ledger-pagination button.active {
  border-color: #1769e8;
  color: #1769e8;
}

#app .project-workbench.upstream-contract-page.downstream-ledger-page .v5-ledger-pagination button:disabled {
  color: #a5b1c1;
}

#app .project-workbench.upstream-contract-page.downstream-ledger-page .contract-record-detail {
  bottom: auto !important;
  min-height: 0 !important;
  height: auto !important;
  max-height: 100% !important;
  align-self: start;
}

#app .project-workbench.upstream-contract-page.downstream-ledger-page .contract-detail-body {
  flex: 0 1 auto !important;
  min-height: 0 !important;
  overflow: auto !important;
}

#app .project-workbench.upstream-contract-page.downstream-ledger-page .contract-detail-actions {
  flex: 0 0 auto;
  margin-top: 17px !important;
}

/* 对上合同筛选栏直接复用对下合同的内容、尺寸与间距。 */
#app .project-workbench.upstream-contract-page.downstream-ledger-page .downstream-contract-ledger-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 58px;
  padding: 12px 20px !important;
  border-bottom: 1px solid #e4e9f2;
}

#app .project-workbench.upstream-contract-page.downstream-ledger-page .downstream-contract-ledger-filter,
#app .project-workbench.upstream-contract-page.downstream-ledger-page .downstream-contract-ledger-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

#app .project-workbench.upstream-contract-page.downstream-ledger-page .downstream-contract-ledger-filter > span {
  color: #7c8798;
  font-size: 13px;
}

#app .project-workbench.upstream-contract-page.downstream-ledger-page .downstream-contract-ledger-filter > i {
  color: #a1abb9;
  font-style: normal;
}

#app .project-workbench.upstream-contract-page.downstream-ledger-page .downstream-contract-ledger-filter .input {
  width: 104px !important;
  height: 32px !important;
  min-height: 32px !important;
  padding: 0 9px !important;
  border: 1px solid #d8e0eb !important;
  border-radius: 5px !important;
  color: #425168 !important;
  font-size: 13px !important;
  box-shadow: none !important;
}

#app .project-workbench.upstream-contract-page.downstream-ledger-page .downstream-contract-ledger-filter .input:last-child {
  width: 220px !important;
}

/* 两个合同页面的操作图标使用同一尺寸、字重和图文间距。 */
#app .downstream-contract-ledger-actions .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

#app .ledger-action-icon {
  display: inline-grid;
  width: 14px;
  height: 14px;
  flex: 0 0 14px;
  margin-right: 6px;
  place-items: center;
  font-family: "Segoe MDL2 Assets";
  font-size: 14px;
  font-weight: 400;
  line-height: 1;
}

#app .ledger-action-export::before {
  content: "\E896";
}

/* 导出按钮中的下载符号略小于按钮文字，保持图标与文字的视觉比例。 */
#app .ledger-action-export {
  width: 12px !important;
  height: 12px !important;
  flex-basis: 12px !important;
  margin-right: 5px !important;
  font-size: 12px !important;
}

#app .ledger-action-export::before {
  font-size: 12px !important;
  line-height: 12px !important;
}

/* 全部导出按钮由脚本补入同一枚 12px 下载图标。 */
#app .hcr-export-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.project-export-dialog .hcr-export-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.project-export-dialog .ledger-action-export {
  display: inline-grid;
  width: 12px;
  height: 12px;
  flex: 0 0 12px;
  margin-right: 5px;
  place-items: center;
  font-family: "Segoe MDL2 Assets";
  font-size: 12px;
  font-weight: 400;
  line-height: 12px;
}

.project-export-dialog .ledger-action-export::before {
  content: "\E896";
}

#app .project-batch-export-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* 合同指标卡片复用左侧导航的 SVG 线性图标，保留原有彩色卡片底色。 */
#app .project-workbench .v5-metric-icon.v5-metric-nav-icon {
  font-family: inherit !important;
}

#app .project-workbench .v5-metric-icon.v5-metric-nav-icon::before {
  content: none !important;
  display: none !important;
}

#app .project-workbench .v5-metric-icon.v5-metric-nav-icon svg {
  display: block;
  width: 16px;
  height: 16px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* 公司代项目预缴税费汇总表复用对下合同的卡片与表格视觉规范。 */
#app .project-workbench .v5-metric-blue .v5-metric-nav-icon {
  color: #1769e8 !important;
}

#app .project-workbench .v5-metric-blue .v5-metric-nav-icon svg {
  stroke: #1769e8 !important;
}

#app .project-workbench .v5-metric-green .v5-metric-nav-icon {
  color: #11a675 !important;
}

#app .project-workbench .v5-metric-green .v5-metric-nav-icon svg {
  stroke: #11a675 !important;
}

#app .project-workbench .v5-metric-purple .v5-metric-nav-icon {
  color: #7954dd !important;
}

#app .project-workbench .v5-metric-purple .v5-metric-nav-icon svg {
  stroke: #7954dd !important;
}

#app .project-workbench .v5-metric-orange .v5-metric-nav-icon {
  color: #f07816 !important;
}

#app .project-workbench .v5-metric-orange .v5-metric-nav-icon svg {
  stroke: #f07816 !important;
}

#app .project-workbench .v5-metric-icon.v5-metric-nav-icon svg {
  width: 18px;
  height: 18px;
  stroke-width: 1.8;
}

#app .project-workbench.tax-prepayment-page .tax-company-prepayment-page {
  display: block;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

#app .project-workbench.tax-prepayment-page .tax-company-prepayment-ledger {
  min-width: 0;
  overflow: hidden;
  padding: 0 !important;
  border: 1px solid var(--ui-table-border-shell) !important;
  border-radius: 10px !important;
  background: #fff !important;
  box-shadow: 0 4px 16px #1949800d !important;
}

#app .project-workbench.tax-prepayment-page .tax-company-prepayment-ledger .business-record-table {
  max-height: none !important;
  margin: 0 !important;
  overflow-x: auto !important;
  border: 0 !important;
  border-radius: 0 !important;
}

#app .project-workbench.tax-prepayment-page .tax-company-prepayment-ledger .business-record-table table {
  width: 100%;
  min-width: 760px;
  table-layout: fixed;
  border: 0 !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
}

#app .project-workbench.tax-prepayment-page .tax-company-prepayment-ledger .business-record-table th {
  padding: 12px 10px !important;
  border-top: 0 !important;
  border-right: 1px solid var(--ui-table-border-control) !important;
  border-bottom: 1px solid var(--ui-table-border-control) !important;
  border-left: 0 !important;
  background: #f1f5fb !important;
  color: #3c4654 !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  text-align: center !important;
  vertical-align: middle;
  white-space: nowrap;
}

#app .project-workbench.tax-prepayment-page .tax-company-prepayment-ledger .business-record-table td {
  padding: 13px 10px !important;
  border-top: 1px solid var(--ui-table-border-divider) !important;
  border-right: 1px solid var(--ui-table-border-divider) !important;
  border-bottom: 0 !important;
  border-left: 0 !important;
  color: #171b24 !important;
  font-size: 13px !important;
  line-height: 1.45;
  white-space: nowrap;
}

#app .project-workbench.tax-prepayment-page .tax-company-prepayment-ledger .business-record-table th:last-child,
#app .project-workbench.tax-prepayment-page .tax-company-prepayment-ledger .business-record-table td:last-child {
  border-right: 0 !important;
}

#app .project-workbench.tax-prepayment-page .tax-company-prepayment-ledger .business-record-table th:first-child,
#app .project-workbench.tax-prepayment-page .tax-company-prepayment-ledger .business-record-table td:first-child,
#app .project-workbench.tax-prepayment-page .tax-company-prepayment-ledger .cell-center,
#app .project-workbench.tax-prepayment-page .tax-company-prepayment-ledger .business-row-actions {
  text-align: center !important;
}

#app .project-workbench.tax-prepayment-page .tax-company-prepayment-ledger .cell-money {
  text-align: right !important;
}

#app .project-workbench.tax-prepayment-page .tax-company-prepayment-ledger .business-total-row td {
  padding: 12px 10px !important;
  border-top: 1px solid var(--ui-table-border-control) !important;
  background: #eef5ff !important;
  color: #171b24 !important;
  font-weight: 700;
}

#app .project-workbench.tax-prepayment-page .tax-company-prepayment-ledger .business-row-actions .text-btn {
  white-space: nowrap;
}

@media (max-width: 1250px) {
  #app .project-workbench.tax-prepayment-page .tax-company-prepayment-ledger .business-record-table th,
  #app .project-workbench.tax-prepayment-page .tax-company-prepayment-ledger .business-record-table td {
    font-size: 12px !important;
  }
}

/* 对下合同执行总览：沿用台账页面的卡片、工具栏和表格规范。 */
#app .project-workbench.downstream-execution-overview-page .downstream-execution-metrics {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 10px !important;
  margin: 0 0 16px !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

#app .project-workbench.downstream-execution-overview-page .downstream-execution-metrics article {
  display: flex !important;
  align-items: flex-start !important;
  gap: 12px;
  min-width: 0;
  min-height: 104px !important;
  padding: 12px 14px 12px 20px !important;
  border: 1px solid #dbe5f2 !important;
  border-radius: 10px !important;
  background: #fff !important;
  box-shadow: 0 4px 16px #1949800d !important;
}

#app .project-workbench.downstream-execution-overview-page .downstream-execution-metrics article > div {
  display: grid;
  min-width: 0;
  gap: 8px;
  padding-top: 3px;
}

#app .project-workbench.downstream-execution-overview-page .downstream-execution-metrics article > div > span,
#app .project-workbench.downstream-execution-overview-page .downstream-execution-metrics article > div > small {
  overflow: hidden;
  color: #7c8798;
  font-size: 12px;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#app .project-workbench.downstream-execution-overview-page .downstream-execution-metrics article > div > strong {
  margin: 0 !important;
  font-size: 20px;
  line-height: 1.1;
  letter-spacing: .2px;
}

#app .project-workbench.downstream-execution-overview-page .downstream-execution-metrics .v5-metric-icon {
  box-sizing: border-box;
  width: 42px !important;
  height: 42px !important;
  flex: 0 0 42px !important;
  display: grid !important;
  place-items: center !important;
  margin: 0 !important;
}

#app .project-workbench.downstream-execution-overview-page .downstream-execution-metrics .tone-blue { color: #1f5fa9; }
#app .project-workbench.downstream-execution-overview-page .downstream-execution-metrics .tone-green { color: #138a63; }
#app .project-workbench.downstream-execution-overview-page .downstream-execution-metrics .tone-purple { color: #7653d6; }
#app .project-workbench.downstream-execution-overview-page .downstream-execution-metrics .tone-orange { color: #bf7411; }

#app .project-workbench.downstream-execution-overview-page .downstream-execution-progress-track {
  width: 100%;
  height: 5px;
  overflow: hidden;
  border-radius: 3px;
  background: #eaf0f7;
}

#app .project-workbench.downstream-execution-overview-page .downstream-execution-progress-track > span {
  display: block;
  height: 100%;
  min-width: 0;
  border-radius: 3px;
}
#app .project-workbench.downstream-execution-overview-page .downstream-execution-progress-track > span.tone-green { background: #138a63; }
#app .project-workbench.downstream-execution-overview-page .downstream-execution-progress-track > span.tone-purple { background: #7653d6; }
#app .project-workbench.downstream-execution-overview-page .downstream-execution-progress-track > span.tone-orange { background: #bf7411; }

#app .project-workbench.downstream-execution-overview-page .downstream-execution-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 58px;
  padding: 12px 20px;
  border-bottom: 1px solid #e4e9f2;
  background: #fff;
}

#app .project-workbench.downstream-execution-overview-page .downstream-execution-toolbar-main,
#app .project-workbench.downstream-execution-overview-page .downstream-execution-toolbar-actions,
#app .project-workbench.downstream-execution-overview-page .downstream-execution-focus,
#app .project-workbench.downstream-execution-overview-page .downstream-execution-view-toggle {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

#app .project-workbench.downstream-execution-overview-page .downstream-execution-toolbar label,
#app .project-workbench.downstream-execution-overview-page .downstream-execution-filter-panel label {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-width: 0;
  color: #7c8798;
  font-size: 13px;
  white-space: nowrap;
}

#app .project-workbench.downstream-execution-overview-page .downstream-execution-toolbar .input,
#app .project-workbench.downstream-execution-overview-page .downstream-execution-filter-panel .input {
  height: 32px !important;
  min-height: 32px !important;
  padding: 0 9px !important;
  border: 1px solid #d8e0eb !important;
  border-radius: 5px !important;
  color: #425168 !important;
  font-size: 13px !important;
  box-shadow: none !important;
}

#app .project-workbench.downstream-execution-overview-page .downstream-execution-toolbar [data-downstream-execution-contract] {
  width: 220px;
}

#app .project-workbench.downstream-execution-overview-page .downstream-execution-toolbar .btn,
#app .project-workbench.downstream-execution-overview-page .downstream-execution-filter-panel .text-btn {
  min-height: 32px;
  height: 32px;
  padding: 0 12px;
  border: 1px solid #d8e0eb;
  border-radius: 5px;
  background: #fff;
  color: #425168;
  font-size: 13px;
  white-space: nowrap;
}

#app .project-workbench.downstream-execution-overview-page .downstream-execution-toolbar .btn.active,
#app .project-workbench.downstream-execution-overview-page .downstream-execution-view-toggle .btn.active {
  border-color: #1f65c1;
  background: #1f65c1;
  color: #fff;
}

#app .project-workbench.downstream-execution-overview-page .downstream-execution-view-toggle {
  padding: 3px;
  gap: 3px;
  border: 1px solid #d8e0eb;
  border-radius: 6px;
  background: #f4f7fb;
}

#app .project-workbench.downstream-execution-overview-page .downstream-execution-view-toggle .btn {
  min-height: 28px;
  height: 28px;
  border-color: transparent;
  padding: 0 10px;
  background: transparent;
}

#app .project-workbench.downstream-execution-overview-page .downstream-execution-filter-panel {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px 14px;
  padding: 13px 20px;
  border-bottom: 1px solid #e4e9f2;
  background: #f8fafd;
}

#app .project-workbench.downstream-execution-overview-page .downstream-execution-filter-panel[hidden] { display: none !important; }
#app .project-workbench.downstream-execution-overview-page .downstream-execution-filter-panel [data-downstream-execution-keyword] { width: 220px; }
#app .project-workbench.downstream-execution-overview-page .downstream-execution-filter-panel [data-downstream-execution-sort] { width: 150px; }
#app .project-workbench.downstream-execution-overview-page .downstream-execution-filter-panel .downstream-execution-check { color: #5f6f84; }
#app .project-workbench.downstream-execution-overview-page .downstream-execution-filter-panel input[type="checkbox"] { accent-color: #1f65c1; }

#app .project-workbench.downstream-execution-overview-page .downstream-execution-table {
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

#app .project-workbench.downstream-execution-overview-page .downstream-execution-table table {
  width: 100%;
  min-width: 1080px;
  table-layout: fixed;
}

#app .project-workbench.downstream-execution-overview-page .downstream-execution-table th {
  padding: 12px 10px !important;
  background: #f1f5fb !important;
  color: #3c4654 !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.35 !important;
  text-align: center !important;
  vertical-align: middle !important;
  white-space: nowrap !important;
}

#app .project-workbench.downstream-execution-overview-page .downstream-execution-table td {
  padding: 13px 10px !important;
  color: #171b24 !important;
  font-size: 13px !important;
  line-height: 1.45;
  vertical-align: middle;
}

#app .project-workbench.downstream-execution-overview-page .downstream-execution-table .cell-money {
  text-align: right !important;
  font-variant-numeric: tabular-nums;
}

#app .project-workbench.downstream-execution-overview-page .downstream-execution-table .cell-money strong {
  display: block;
  font-size: 14px;
  font-weight: 500;
}

#app .project-workbench.downstream-execution-overview-page .downstream-execution-table .cell-money small {
  display: block;
  margin-top: 4px;
  color: #7c8798;
  font-size: 10px;
  line-height: 1.2;
}

#app .project-workbench.downstream-execution-overview-page .downstream-execution-table .downstream-execution-progress-track {
  width: 100%;
  margin-top: 8px;
}

#app .project-workbench.downstream-execution-overview-page .downstream-execution-identity {
  white-space: normal !important;
  overflow-wrap: anywhere;
  text-overflow: clip !important;
}

#app .project-workbench.downstream-execution-overview-page .downstream-execution-identity strong {
  display: block;
  color: #253a56;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.45;
}

#app .project-workbench.downstream-execution-overview-page .downstream-execution-identity small {
  display: block;
  margin-top: 4px;
  color: #7c8798;
  font-size: 11px;
  line-height: 1.55;
  overflow-wrap: anywhere;
  white-space: normal;
}

#app .project-workbench.downstream-execution-overview-page .downstream-execution-tag {
  display: inline-block;
  margin-right: 5px;
  padding: 2px 5px;
  border-radius: 3px;
  background: #eef3fa;
  color: #637797;
  font-size: 10px;
}

#app .project-workbench.downstream-execution-overview-page .downstream-execution-overage {
  display: inline-block;
  margin-top: 5px;
  padding: 2px 5px;
  border-radius: 3px;
  background: #fff2df;
  color: #a66b19;
  font-size: 10px;
}

#app .project-workbench.downstream-execution-overview-page .downstream-execution-gap-list {
  display: grid;
  gap: 3px;
  min-width: 0;
}

#app .project-workbench.downstream-execution-overview-page .downstream-execution-gap-row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
  color: #77869b;
  font-size: 11px;
  line-height: 1.55;
  white-space: nowrap;
}

#app .project-workbench.downstream-execution-overview-page .downstream-execution-gap-row b {
  color: #344962;
  font-size: 13px;
  font-weight: 500;
  font-variant-numeric: tabular-nums;
}

#app .project-workbench.downstream-execution-overview-page .downstream-execution-gap-row b.positive { color: #1f65c1; }
#app .project-workbench.downstream-execution-overview-page .downstream-execution-gap-row b.negative { color: #b56a12; }
#app .project-workbench.downstream-execution-overview-page .downstream-execution-actions { text-align: center !important; }
#app .project-workbench.downstream-execution-overview-page .downstream-execution-table tfoot td {
  padding: 12px 10px !important;
  border-top: 2px solid #afc8e9 !important;
  background: #eef5ff !important;
  font-weight: 700;
}

#app .project-workbench.downstream-execution-overview-page .downstream-execution-footer {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  min-height: 48px;
  padding: 13px 20px;
  border-top: 1px solid #e4e9f2;
  color: #7c8798;
  font-size: 12px;
}

#app .project-workbench.downstream-execution-overview-page .downstream-execution-contract-cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  padding: 16px;
  background: #f8fafd;
}

#app .project-workbench.downstream-execution-overview-page .downstream-execution-contract-card {
  min-width: 0;
  padding: 16px;
  border: 1px solid #dbe5f2;
  border-radius: 8px;
  background: #fff;
}

#app .project-workbench.downstream-execution-overview-page .downstream-execution-card-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}

#app .project-workbench.downstream-execution-overview-page .downstream-execution-card-amount {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-top: 14px;
  padding: 12px 0;
  border-top: 1px solid #edf1f7;
  color: #77869b;
  font-size: 12px;
}

#app .project-workbench.downstream-execution-overview-page .downstream-execution-card-amount strong {
  color: #1f5fa9;
  font-size: 21px;
  font-weight: 500;
  font-variant-numeric: tabular-nums;
}

#app .project-workbench.downstream-execution-overview-page .downstream-execution-card-progress {
  display: grid;
  gap: 6px;
  margin-top: 3px;
}

#app .project-workbench.downstream-execution-overview-page .downstream-execution-card-progress > div:not(.downstream-execution-progress-track) {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
  color: #5d6f86;
  font-size: 12px;
}

#app .project-workbench.downstream-execution-overview-page .downstream-execution-card-progress b {
  margin-left: auto;
  color: #344962;
  font-weight: 500;
  font-variant-numeric: tabular-nums;
}

#app .project-workbench.downstream-execution-overview-page .downstream-execution-card-progress small {
  min-width: 48px;
  color: #7c8798;
  font-size: 10px;
  text-align: right;
}

#app .project-workbench.downstream-execution-overview-page .downstream-execution-card-gaps {
  margin-top: 15px;
  padding: 9px 10px;
  border-radius: 5px;
  background: #f6f9fd;
}

#app .project-workbench.downstream-execution-overview-page .downstream-execution-gap-row.compact { line-height: 1.8; }
#app .project-workbench.downstream-execution-overview-page .downstream-execution-empty {
  padding: 64px 20px;
  color: #7c8798;
  text-align: center;
}

#app .project-workbench.downstream-execution-overview-page .downstream-execution-modal {
  position: fixed;
  z-index: 100;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 20px;
  background: #16315666;
}

#app .project-workbench.downstream-execution-overview-page .downstream-execution-modal[hidden] { display: none !important; }
#app .project-workbench.downstream-execution-overview-page .downstream-execution-modal-card {
  width: min(650px, 100%);
  max-height: min(760px, calc(100vh - 40px));
  overflow: auto;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 16px 60px #102d5540;
}

#app .project-workbench.downstream-execution-overview-page .downstream-execution-modal-card > header,
#app .project-workbench.downstream-execution-overview-page .downstream-execution-detail-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding: 20px 24px 15px;
  border-bottom: 1px solid #e4e9f2;
}

#app .project-workbench.downstream-execution-overview-page .downstream-execution-modal-card h2 {
  margin: 0;
  color: #253a56;
  font-size: 20px;
}

#app .project-workbench.downstream-execution-overview-page .downstream-execution-modal-body { padding: 18px 24px 22px; }
#app .project-workbench.downstream-execution-overview-page .downstream-execution-formula,
#app .project-workbench.downstream-execution-overview-page .downstream-execution-detail-gaps > div {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 14px;
  padding: 11px 0;
  border-bottom: 1px solid #edf1f6;
  color: #425168;
  font-size: 13px;
}

#app .project-workbench.downstream-execution-overview-page .downstream-execution-formula b { font-weight: 500; }
#app .project-workbench.downstream-execution-overview-page .downstream-execution-modal-body p {
  margin: 16px 0 0;
  color: #718097;
  font-size: 12px;
  line-height: 1.8;
}

#app .project-workbench.downstream-execution-overview-page .downstream-execution-detail-head h2 { margin-bottom: 5px; }
#app .project-workbench.downstream-execution-overview-page .downstream-execution-detail-head p { margin: 0; color: #7c8798; font-size: 12px; }
#app .project-workbench.downstream-execution-overview-page .downstream-execution-detail-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 9px;
  padding: 18px 24px;
}

#app .project-workbench.downstream-execution-overview-page .downstream-execution-detail-metrics > div {
  padding: 11px 8px;
  border-radius: 6px;
  background: #f3f7fd;
  text-align: center;
}

#app .project-workbench.downstream-execution-overview-page .downstream-execution-detail-metrics span { display: block; color: #7c8798; font-size: 11px; }
#app .project-workbench.downstream-execution-overview-page .downstream-execution-detail-metrics b { display: block; margin-top: 6px; color: #253a56; font-size: 18px; font-weight: 500; }
#app .project-workbench.downstream-execution-overview-page .downstream-execution-detail-gaps { padding: 0 24px 22px; }
#app .project-workbench.downstream-execution-overview-page .downstream-execution-detail-gaps small { display: block; margin-top: 4px; color: #8a98aa; font-size: 10px; }
#app .project-workbench.downstream-execution-overview-page .downstream-execution-detail-gaps b { color: #344962; font-size: 16px; font-weight: 500; font-variant-numeric: tabular-nums; }
#app .project-workbench.downstream-execution-overview-page .downstream-execution-detail-gaps b.positive { color: #1f65c1; }
#app .project-workbench.downstream-execution-overview-page .downstream-execution-detail-gaps b.negative { color: #b56a12; }

@media (max-width: 1250px) {
  #app .project-workbench.downstream-execution-overview-page .downstream-execution-metrics article { padding-left: 14px !important; }
  #app .project-workbench.downstream-execution-overview-page .downstream-execution-toolbar [data-downstream-execution-contract] { width: 180px; }
  #app .project-workbench.downstream-execution-overview-page .downstream-execution-contract-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
  #app .project-workbench.downstream-execution-overview-page .downstream-execution-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  #app .project-workbench.downstream-execution-overview-page .downstream-execution-toolbar { align-items: flex-start; flex-wrap: wrap; }
  #app .project-workbench.downstream-execution-overview-page .downstream-execution-toolbar-main { flex-wrap: wrap; }
  #app .project-workbench.downstream-execution-overview-page .downstream-execution-toolbar-actions { margin-left: auto; }
}

@media (max-width: 680px) {
  #app .project-workbench.downstream-execution-overview-page .downstream-execution-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 8px !important; }
  #app .project-workbench.downstream-execution-overview-page .downstream-execution-metrics article { min-height: 88px !important; padding: 11px !important; gap: 8px; }
  #app .project-workbench.downstream-execution-overview-page .downstream-execution-metrics .v5-metric-icon { width: 34px !important; height: 34px !important; flex-basis: 34px !important; }
  #app .project-workbench.downstream-execution-overview-page .downstream-execution-metrics article > div > strong { font-size: 17px; }
  #app .project-workbench.downstream-execution-overview-page .downstream-execution-toolbar-main,
  #app .project-workbench.downstream-execution-overview-page .downstream-execution-toolbar-actions { width: 100%; }
  #app .project-workbench.downstream-execution-overview-page .downstream-execution-toolbar-actions { justify-content: space-between; margin-left: 0; }
  #app .project-workbench.downstream-execution-overview-page .downstream-execution-toolbar [data-downstream-execution-contract] { width: min(220px, 55vw); }
  #app .project-workbench.downstream-execution-overview-page .downstream-execution-focus { flex: 1 1 100%; }
  #app .project-workbench.downstream-execution-overview-page .downstream-execution-focus .btn { flex: 1 1 0; padding: 0 6px; }
  #app .project-workbench.downstream-execution-overview-page .downstream-execution-filter-panel { align-items: stretch; padding: 12px; }
  #app .project-workbench.downstream-execution-overview-page .downstream-execution-filter-panel label,
  #app .project-workbench.downstream-execution-overview-page .downstream-execution-filter-panel .input,
  #app .project-workbench.downstream-execution-overview-page .downstream-execution-filter-panel [data-downstream-execution-keyword] { width: 100%; }
  #app .project-workbench.downstream-execution-overview-page .downstream-execution-contract-cards { grid-template-columns: 1fr; padding: 12px; }
  #app .project-workbench.downstream-execution-overview-page .downstream-execution-footer { padding: 11px 12px; }
  #app .project-workbench.downstream-execution-overview-page .downstream-execution-detail-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 15px; }
  #app .project-workbench.downstream-execution-overview-page .downstream-execution-detail-gaps { padding: 0 15px 18px; }
  #app .project-workbench.downstream-execution-overview-page .downstream-execution-modal-card > header,
  #app .project-workbench.downstream-execution-overview-page .downstream-execution-detail-head { padding: 17px 15px 13px; }
  #app .project-workbench.downstream-execution-overview-page .downstream-execution-modal-body { padding: 15px; }
}
