/* 全局台账对齐规则：按字段语义决定对齐，不按页面或列序号决定。 */
#app .project-workbench .business-record-table .table-standard thead th,
#app .project-workbench .business-group-summary .table-standard thead th{
  text-align:center!important;
  vertical-align:middle!important;
}

#app .project-workbench .business-record-table .table-standard tbody td,
#app .project-workbench .business-group-summary .table-standard tbody td{
  text-align:left;
  vertical-align:middle;
}

#app .project-workbench .business-record-table .table-standard tbody td.cell-center,
#app .project-workbench .business-group-summary .table-standard tbody td.cell-center,
#app .project-workbench .business-record-table .table-standard tbody td.business-row-actions{
  text-align:center!important;
  vertical-align:middle!important;
}

#app .project-workbench .business-record-table .table-standard tbody td.cell-money,
#app .project-workbench .business-group-summary .table-standard tbody td.cell-money,
#app .project-workbench .business-record-table .table-standard tfoot td.right{
  text-align:right!important;
}

#app .project-workbench .business-record-table .table-standard tbody td.business-cell-two-lines,
#app .project-workbench .business-group-summary .table-standard tbody td.business-cell-two-lines{
  text-align:left!important;
}

#app textarea.input{
  resize:none!important;
}

/* 对上业务统一浅蓝灰界面：表格保持全宽，详情按需从右侧覆盖打开。 */
#app .project-workbench.upstream-contract-page,
#app .project-workbench.upstream-settlement-page,
#app .project-workbench.upstream-invoice-page,
#app .project-workbench.upstream-receipt-page{
  --business-primary:#163e98;
  --business-selected:#e8f0ff;
  --business-surface:#f3f6fa;
  --business-drawer:#f8fafd;
  --business-line:#c8d5e5;
  --business-text:#17202e;
  --business-muted:#68758b;
  background:#fff!important;
  color:var(--business-text);
}

#app .project-workbench.upstream-contract-page .project-top,
#app .project-workbench.upstream-settlement-page .project-top,
#app .project-workbench.upstream-invoice-page .project-top,
#app .project-workbench.upstream-receipt-page .project-top{
  background:var(--business-surface)!important;
  border-bottom:1px solid var(--business-line)!important;
  box-shadow:none!important;
}

#app .project-workbench.upstream-contract-page .project-workspace,
#app .project-workbench.upstream-settlement-page .project-workspace,
#app .project-workbench.upstream-invoice-page .project-workspace,
#app .project-workbench.upstream-receipt-page .project-workspace{
  background:#fff!important;
}

#app .project-workbench.upstream-contract-page .form-panel.business-workspace,
#app .project-workbench.upstream-settlement-page .form-panel.business-workspace,
#app .project-workbench.upstream-invoice-page .form-panel.business-workspace,
#app .project-workbench.upstream-receipt-page .form-panel.business-workspace{
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

#app .project-workbench.upstream-contract-page .contract-ledger-layout,
#app .project-workbench.upstream-settlement-page .settlement-ledger-layout,
#app .project-workbench.upstream-invoice-page .invoice-ledger-layout,
#app .project-workbench.upstream-receipt-page .receipt-ledger-layout{
  position:relative!important;
  display:block!important;
  min-height:440px;
}

#app .project-workbench.upstream-contract-page .contract-ledger-main,
#app .project-workbench.upstream-settlement-page .settlement-ledger-main,
#app .project-workbench.upstream-invoice-page .invoice-ledger-main,
#app .project-workbench.upstream-receipt-page .receipt-ledger-main{
  display:grid!important;
  width:100%;
  min-width:0;
  gap:12px!important;
}

#app .project-workbench.upstream-contract-page .contract-ledger-metrics,
#app .project-workbench.upstream-settlement-page .settlement-ledger-metrics,
#app .project-workbench.upstream-invoice-page .invoice-ledger-metrics,
#app .project-workbench.upstream-receipt-page .receipt-ledger-metrics{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0!important;
  border:1px solid var(--business-line);
  background:var(--business-surface);
  box-shadow:none!important;
}

#app .project-workbench.upstream-contract-page .contract-ledger-metrics article,
#app .project-workbench.upstream-settlement-page .settlement-ledger-metrics article,
#app .project-workbench.upstream-invoice-page .invoice-ledger-metrics article,
#app .project-workbench.upstream-receipt-page .receipt-ledger-metrics article{
  min-height:82px!important;
  padding:14px 20px!important;
  border:0!important;
  border-right:1px solid var(--business-line)!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

#app .project-workbench.upstream-contract-page .contract-ledger-metrics article:last-child,
#app .project-workbench.upstream-settlement-page .settlement-ledger-metrics article:last-child,
#app .project-workbench.upstream-invoice-page .invoice-ledger-metrics article:last-child,
#app .project-workbench.upstream-receipt-page .receipt-ledger-metrics article:last-child{
  border-right:0!important;
}

#app .project-workbench.upstream-contract-page .contract-ledger-metrics span,
#app .project-workbench.upstream-contract-page .contract-ledger-metrics small,
#app .project-workbench.upstream-settlement-page .settlement-ledger-metrics span,
#app .project-workbench.upstream-settlement-page .settlement-ledger-metrics small,
#app .project-workbench.upstream-invoice-page .invoice-ledger-metrics span,
#app .project-workbench.upstream-invoice-page .invoice-ledger-metrics small,
#app .project-workbench.upstream-receipt-page .receipt-ledger-metrics span,
#app .project-workbench.upstream-receipt-page .receipt-ledger-metrics small{
  color:var(--business-muted)!important;
}

#app .project-workbench.upstream-contract-page .tone-blue,
#app .project-workbench.upstream-contract-page .tone-green,
#app .project-workbench.upstream-contract-page .tone-orange,
#app .project-workbench.upstream-settlement-page .tone-blue,
#app .project-workbench.upstream-settlement-page .tone-green,
#app .project-workbench.upstream-settlement-page .tone-orange,
#app .project-workbench.upstream-invoice-page .tone-blue,
#app .project-workbench.upstream-invoice-page .tone-green,
#app .project-workbench.upstream-invoice-page .tone-orange,
#app .project-workbench.upstream-receipt-page .tone-blue,
#app .project-workbench.upstream-receipt-page .tone-green,
#app .project-workbench.upstream-receipt-page .tone-orange{
  color:var(--business-primary)!important;
}

#app .project-workbench.upstream-contract-page .business-live-ledger,
#app .project-workbench.upstream-settlement-page .business-live-ledger,
#app .project-workbench.upstream-invoice-page .business-live-ledger,
#app .project-workbench.upstream-receipt-page .business-live-ledger{
  overflow:hidden!important;
  border:1px solid var(--business-line)!important;
  border-radius:2px!important;
  background:#fff!important;
  box-shadow:none!important;
}

#app .project-workbench.upstream-contract-page .ledger-prototype-toolbar,
#app .project-workbench.upstream-settlement-page .ledger-prototype-toolbar,
#app .project-workbench.upstream-receipt-page .receipt-ledger-toolbar,
#app .project-workbench.upstream-invoice-page .invoice-table-toolbar{
  min-height:54px!important;
  padding:10px 16px!important;
  border-bottom:1px solid var(--business-line)!important;
  background:#fff!important;
}

#app .project-workbench.upstream-contract-page .ledger-prototype-filter>span,
#app .project-workbench.upstream-settlement-page .ledger-prototype-filter>span,
#app .project-workbench.upstream-receipt-page .receipt-ledger-filter>span,
#app .project-workbench.upstream-invoice-page .invoice-filter-lite>span{
  color:var(--business-text)!important;
}

#app .project-workbench.upstream-contract-page .ledger-prototype-filter .input,
#app .project-workbench.upstream-settlement-page .ledger-prototype-filter .input,
#app .project-workbench.upstream-receipt-page .receipt-ledger-filter .input,
#app .project-workbench.upstream-invoice-page .invoice-filter-lite .input{
  border:1px solid var(--business-line)!important;
  border-radius:2px!important;
  background:#fff!important;
  color:var(--business-text)!important;
}

#app .project-workbench.upstream-contract-page .ledger-prototype-actions .btn,
#app .project-workbench.upstream-settlement-page .ledger-prototype-actions .btn,
#app .project-workbench.upstream-receipt-page .receipt-ledger-actions .btn,
#app .project-workbench.upstream-invoice-page .invoice-table-actions .btn{
  border:1px solid var(--business-line)!important;
  border-radius:5px!important;
  background:#fff!important;
  color:var(--business-primary)!important;
  box-shadow:none!important;
}

#app .project-workbench.upstream-contract-page .ledger-prototype-actions .btn.primary,
#app .project-workbench.upstream-settlement-page .ledger-prototype-actions .btn.primary,
#app .project-workbench.upstream-receipt-page .receipt-ledger-actions .btn.primary,
#app .project-workbench.upstream-invoice-page .invoice-table-actions .btn.primary{
  border-color:var(--business-primary)!important;
  background:var(--business-primary)!important;
  color:#fff!important;
}

#app .project-workbench.upstream-contract-page .business-record-table,
#app .project-workbench.upstream-settlement-page .business-record-table,
#app .project-workbench.upstream-invoice-page .business-record-table,
#app .project-workbench.upstream-receipt-page .business-record-table{
  overflow:auto!important;
  border:0!important;
}

#app .project-workbench.upstream-contract-page .business-record-table table,
#app .project-workbench.upstream-settlement-page .business-record-table table,
#app .project-workbench.upstream-invoice-page .business-record-table table,
#app .project-workbench.upstream-receipt-page .business-record-table table{
  border-collapse:collapse!important;
  border:1px solid var(--business-line)!important;
}

#app .project-workbench.upstream-contract-page .business-record-table th,
#app .project-workbench.upstream-contract-page .business-record-table td,
#app .project-workbench.upstream-settlement-page .business-record-table th,
#app .project-workbench.upstream-settlement-page .business-record-table td,
#app .project-workbench.upstream-invoice-page .business-record-table th,
#app .project-workbench.upstream-invoice-page .business-record-table td,
#app .project-workbench.upstream-receipt-page .business-record-table th,
#app .project-workbench.upstream-receipt-page .business-record-table td{
  border:1px solid var(--business-line)!important;
}

#app .project-workbench.upstream-contract-page .business-record-table th,
#app .project-workbench.upstream-settlement-page .business-record-table th,
#app .project-workbench.upstream-invoice-page .business-record-table th,
#app .project-workbench.upstream-receipt-page .business-record-table th{
  background:var(--business-surface)!important;
  color:var(--business-text)!important;
}

#app .project-workbench.upstream-contract-page .business-record-selected td,
#app .project-workbench.upstream-settlement-page .business-record-selected td,
#app .project-workbench.upstream-invoice-page .business-record-selected td,
#app .project-workbench.upstream-receipt-page .business-record-selected td{
  background:var(--business-selected)!important;
}

#app .project-workbench.upstream-contract-page .business-total-row td,
#app .project-workbench.upstream-settlement-page .business-total-row td,
#app .project-workbench.upstream-invoice-page .business-total-row td,
#app .project-workbench.upstream-receipt-page .business-total-row td{
  background:var(--business-surface)!important;
  border-top:1px solid var(--business-line)!important;
  color:var(--business-text)!important;
}

#app .project-workbench.upstream-contract-page .business-detail-drawer,
#app .project-workbench.upstream-settlement-page .business-detail-drawer,
#app .project-workbench.upstream-invoice-page .business-detail-drawer,
#app .project-workbench.upstream-receipt-page .business-detail-drawer{
  position:absolute!important;
  z-index:30;
  top:0;
  right:0;
  bottom:0;
  width:min(410px,calc(100% - 20px));
  min-height:100%;
  display:flex!important;
  flex-direction:column;
  overflow:auto!important;
  border:0!important;
  border-left:1px solid var(--business-line)!important;
  border-radius:0!important;
  background:var(--business-drawer)!important;
  box-shadow:-12px 0 24px rgba(35,64,96,.12)!important;
  opacity:0;
  pointer-events:none;
  transform:translateX(calc(100% + 16px));
  transition:opacity .18s ease,transform .18s ease;
}

#app .project-workbench.upstream-contract-page .business-detail-drawer-open .business-detail-drawer,
#app .project-workbench.upstream-settlement-page .business-detail-drawer-open .business-detail-drawer,
#app .project-workbench.upstream-invoice-page .business-detail-drawer-open .business-detail-drawer,
#app .project-workbench.upstream-receipt-page .business-detail-drawer-open .business-detail-drawer{
  opacity:1;
  pointer-events:auto;
  transform:translateX(0);
}

#app .project-workbench.upstream-contract-page .business-detail-drawer .contract-detail-head,
#app .project-workbench.upstream-contract-page .business-detail-drawer .settlement-detail-head,
#app .project-workbench.upstream-contract-page .business-detail-drawer .invoice-detail-head,
#app .project-workbench.upstream-contract-page .business-detail-drawer .receipt-detail-head,
#app .project-workbench.upstream-settlement-page .business-detail-drawer .contract-detail-head,
#app .project-workbench.upstream-settlement-page .business-detail-drawer .settlement-detail-head,
#app .project-workbench.upstream-settlement-page .business-detail-drawer .invoice-detail-head,
#app .project-workbench.upstream-settlement-page .business-detail-drawer .receipt-detail-head,
#app .project-workbench.upstream-invoice-page .business-detail-drawer .contract-detail-head,
#app .project-workbench.upstream-invoice-page .business-detail-drawer .settlement-detail-head,
#app .project-workbench.upstream-invoice-page .business-detail-drawer .invoice-detail-head,
#app .project-workbench.upstream-invoice-page .business-detail-drawer .receipt-detail-head,
#app .project-workbench.upstream-receipt-page .business-detail-drawer .contract-detail-head,
#app .project-workbench.upstream-receipt-page .business-detail-drawer .settlement-detail-head,
#app .project-workbench.upstream-receipt-page .business-detail-drawer .invoice-detail-head,
#app .project-workbench.upstream-receipt-page .business-detail-drawer .receipt-detail-head{
  display:flex!important;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  padding:18px 20px 14px!important;
  border-bottom:1px solid var(--business-line)!important;
  background:var(--business-drawer)!important;
}

#app .record-detail-explicit-actions-only [data-record-detail-panel][hidden]{
  display:none!important;
}

#app .record-detail-explicit-actions-only > aside[class*="record-detail"]:not(.record-detail-panel-open){
  display:none!important;
}

#app .record-detail-explicit-actions-only .record-detail-panel-head{
  display:flex!important;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
}

#app .record-detail-explicit-actions-only .record-detail-panel-head-copy{
  min-width:0;
  flex:1 1 auto;
}

#app .record-detail-explicit-actions-only .record-detail-panel-close{
  flex:0 0 auto;
  margin-left:auto;
  padding:0 2px;
  border:0!important;
  background:transparent!important;
  color:var(--business-primary,#1f5fc4)!important;
  font-size:24px!important;
  line-height:1;
  cursor:pointer;
}

#app .project-workbench.upstream-contract-page .business-detail-close,
#app .project-workbench.upstream-settlement-page .business-detail-close,
#app .project-workbench.upstream-invoice-page .business-detail-close,
#app .project-workbench.upstream-receipt-page .business-detail-close{
  flex:0 0 auto;
  padding:0 2px;
  border:0!important;
  background:transparent!important;
  color:var(--business-primary)!important;
  font-size:24px!important;
  line-height:1;
}

#app .project-workbench.upstream-contract-page .business-detail-drawer .contract-detail-body,
#app .project-workbench.upstream-settlement-page .business-detail-drawer .settlement-detail-body,
#app .project-workbench.upstream-invoice-page .business-detail-drawer .invoice-detail-body,
#app .project-workbench.upstream-receipt-page .business-detail-drawer .receipt-detail-body{
  display:flex!important;
  flex:1 1 auto;
  flex-direction:column;
  padding:0 20px 18px!important;
  background:var(--business-drawer)!important;
}

#app .project-workbench.upstream-contract-page .business-detail-drawer .contract-detail-actions,
#app .project-workbench.upstream-settlement-page .business-detail-drawer .settlement-detail-actions,
#app .project-workbench.upstream-invoice-page .business-detail-drawer .invoice-detail-actions,
#app .project-workbench.upstream-receipt-page .business-detail-drawer .receipt-detail-actions{
  margin-top:auto!important;
  padding-top:16px;
  border-top:1px solid var(--business-line);
}

#app .project-workbench.upstream-contract-page .business-detail-drawer .btn,
#app .project-workbench.upstream-settlement-page .business-detail-drawer .btn,
#app .project-workbench.upstream-invoice-page .business-detail-drawer .btn,
#app .project-workbench.upstream-receipt-page .business-detail-drawer .btn{
  border-radius:2px!important;
  border-color:var(--business-line)!important;
  background:#fff!important;
  color:var(--business-primary)!important;
}

#app .project-workbench.upstream-contract-page .business-detail-drawer .btn.primary,
#app .project-workbench.upstream-settlement-page .business-detail-drawer .btn.primary,
#app .project-workbench.upstream-invoice-page .business-detail-drawer .btn.primary,
#app .project-workbench.upstream-receipt-page .business-detail-drawer .btn.primary{
  border-color:var(--business-primary)!important;
  background:var(--business-primary)!important;
  color:#fff!important;
}

@media(max-width:900px){
  #app .project-workbench.upstream-contract-page .contract-ledger-metrics,
  #app .project-workbench.upstream-settlement-page .settlement-ledger-metrics,
  #app .project-workbench.upstream-invoice-page .invoice-ledger-metrics,
  #app .project-workbench.upstream-receipt-page .receipt-ledger-metrics{grid-template-columns:1fr}
  #app .project-workbench.upstream-contract-page .contract-ledger-metrics article,
  #app .project-workbench.upstream-settlement-page .settlement-ledger-metrics article,
  #app .project-workbench.upstream-invoice-page .invoice-ledger-metrics article,
  #app .project-workbench.upstream-receipt-page .receipt-ledger-metrics article{border-right:0!important;border-bottom:1px solid var(--business-line)!important}
  #app .project-workbench.upstream-contract-page .contract-ledger-metrics article:last-child,
  #app .project-workbench.upstream-settlement-page .settlement-ledger-metrics article:last-child,
  #app .project-workbench.upstream-invoice-page .invoice-ledger-metrics article:last-child,
  #app .project-workbench.upstream-receipt-page .receipt-ledger-metrics article:last-child{border-bottom:0!important}
}
.core-table-pagination{display:flex;min-height:54px;padding:9px 12px;align-items:center;justify-content:space-between;gap:16px;border:1px solid #dbe5f2;border-top:2px solid #c5d2e3;border-radius:0 0 7px 7px;background:#f7f9fc;color:#64738a;font-size:13px}
.core-table-pagination b{color:#34445a;font-weight:600}
.core-table-pagination-nav{display:flex;align-items:center;gap:8px}
.core-table-page-button{display:inline-flex;width:34px;height:34px;padding:0;align-items:center;justify-content:center;border:1px solid #d7e0ec;border-radius:6px;background:#fff;color:#1769e8;font:18px/1 Arial,sans-serif;cursor:pointer}
.core-table-page-button:hover:not(:disabled){border-color:#8eb6ee;background:#f5f9ff}
.core-table-page-button:disabled{background:#f7f9fc;color:#bdc7d5;cursor:not-allowed}
.core-table-page-status{min-width:52px;color:#34445a;text-align:center}
.core-table-page-size{display:flex;min-height:34px;align-items:center;gap:6px;color:#425168;white-space:nowrap}
.core-table-page-size-input{width:46px;height:32px;padding:0 5px;border:1px solid #cbd6e5;border-radius:6px;background:#fff;color:#171b24;font:13px/1 inherit;text-align:center;outline:0;appearance:textfield}
.core-table-page-size-input::-webkit-inner-spin-button,.core-table-page-size-input::-webkit-outer-spin-button{margin:0;appearance:none}
.core-table-page-size-input:focus{border-color:#1769e8;box-shadow:0 0 0 2px rgba(23,105,232,.12)}
.business-record-table+.core-table-pagination,.project-list-table-wrap+.core-table-pagination{margin-top:0}
.business-record-table:has(+.core-table-pagination),.project-list-table-wrap:has(+.core-table-pagination){border-radius:7px 7px 0 0}
@media(max-width:680px){.core-table-pagination{align-items:flex-start;flex-direction:column}.core-table-pagination-nav{width:100%;justify-content:flex-end;flex-wrap:wrap}}
