/* V15.8.9 contract-table-style-r2.3
   修复合同管理滚动布局：表头纵向固定、前4列横向固定；恢复单一表格同步滚动。
   使用与商铺管理接近的 1px 细线，不修改业务或账务逻辑。 */
#panel-contracts .table-card{
  background:#fff;
  border:1px solid #dfe7ee;
  border-radius:14px;
  box-shadow:none;
  overflow:hidden;
}
#panel-contracts .contract-table-wrap{
  position:relative;
  overflow:auto;
  background:#fff;
  scrollbar-color:#9aa9b6 #eef3f7;
  scrollbar-width:thin;
  isolation:isolate;
}
#panel-contracts .contracts-table.contract-table-v1589{
  width:max-content;
  min-width:100%;
  border-collapse:separate;
  border-spacing:0;
  table-layout:auto;
  background:#fff;
}
#panel-contracts .contracts-table.contract-table-v1589 th,
#panel-contracts .contracts-table.contract-table-v1589 td{
  box-sizing:border-box;
  border-right:1px solid #e5ebf0;
  border-bottom:1px solid #e5ebf0;
  box-shadow:none;
}
#panel-contracts .contracts-table.contract-table-v1589 thead th{
  position:sticky !important;
  top:0 !important;
  left:auto;
  right:auto;
  z-index:30;
  padding:12px 10px;
  background:#337eae;
  color:#fff;
  font-weight:700;
  line-height:1.25;
  text-align:center;
  white-space:nowrap;
  vertical-align:middle;
}
#panel-contracts .contracts-table.contract-table-v1589 tbody td{
  position:relative;
  z-index:1;
  padding:12px 10px;
  vertical-align:middle;
  text-align:center;
  line-height:1.42;
  color:#1e2d3d;
  background:#fff;
  white-space:nowrap;
  transition:background-color .12s ease;
}
#panel-contracts .contracts-table.contract-table-v1589 th:last-child,
#panel-contracts .contracts-table.contract-table-v1589 td:last-child{border-right:0;}
#panel-contracts .contracts-table.contract-table-v1589 tbody tr:nth-child(even) td{background:#fbfdff;}
#panel-contracts .contracts-table.contract-table-v1589 tbody tr:hover td{background:#f4f9fd;}
#panel-contracts .contracts-table.contract-table-v1589 tbody tr.series-divider td{border-top:0;}

/* 前4列固定。所有 left 值在本文件中统一定义，避免历史样式叠加。 */
#panel-contracts .contracts-table.contract-table-v1589 th:nth-child(1),
#panel-contracts .contracts-table.contract-table-v1589 td:nth-child(1){
  width:64px; min-width:64px; max-width:64px;
  position:sticky !important; left:0 !important;
}
#panel-contracts .contracts-table.contract-table-v1589 th:nth-child(2),
#panel-contracts .contracts-table.contract-table-v1589 td:nth-child(2){
  width:180px; min-width:180px; max-width:180px;
  position:sticky !important; left:64px !important;
}
#panel-contracts .contracts-table.contract-table-v1589 th:nth-child(3),
#panel-contracts .contracts-table.contract-table-v1589 td:nth-child(3){
  width:300px; min-width:300px; max-width:300px;
  position:sticky !important; left:244px !important;
}
#panel-contracts .contracts-table.contract-table-v1589 th:nth-child(4),
#panel-contracts .contracts-table.contract-table-v1589 td:nth-child(4){
  width:120px; min-width:120px; max-width:120px;
  position:sticky !important; left:544px !important;
}
#panel-contracts .contracts-table.contract-table-v1589 thead th:nth-child(-n+4){
  z-index:60;
  background:#337eae;
}
#panel-contracts .contracts-table.contract-table-v1589 tbody td:nth-child(-n+4){
  z-index:12;
  background:#fff;
}
#panel-contracts .contracts-table.contract-table-v1589 tbody tr:nth-child(even) td:nth-child(-n+4){background:#fbfdff;}
#panel-contracts .contracts-table.contract-table-v1589 tbody tr:hover td:nth-child(-n+4){background:#f4f9fd;}
#panel-contracts .contracts-table.contract-table-v1589 th:nth-child(4),
#panel-contracts .contracts-table.contract-table-v1589 td:nth-child(4){
  box-shadow:5px 0 8px -8px rgba(36,64,91,.45);
}

/* 关键列给稳定最小宽度，表头和数据始终由同一张 table 计算，不拆表头。 */
#panel-contracts .contracts-table.contract-table-v1589 th:nth-child(5),
#panel-contracts .contracts-table.contract-table-v1589 td:nth-child(5){min-width:220px;}
#panel-contracts .contracts-table.contract-table-v1589 th:nth-child(9),
#panel-contracts .contracts-table.contract-table-v1589 td:nth-child(9){min-width:250px;}
#panel-contracts .contracts-table.contract-table-v1589 th:nth-child(12),
#panel-contracts .contracts-table.contract-table-v1589 td:nth-child(12),
#panel-contracts .contracts-table.contract-table-v1589 th:nth-child(13),
#panel-contracts .contracts-table.contract-table-v1589 td:nth-child(13){min-width:132px;}
#panel-contracts .contracts-table.contract-table-v1589 th:nth-child(21),
#panel-contracts .contracts-table.contract-table-v1589 td:nth-child(21),
#panel-contracts .contracts-table.contract-table-v1589 th:nth-child(22),
#panel-contracts .contracts-table.contract-table-v1589 td:nth-child(22){min-width:118px;}
#panel-contracts .contracts-table.contract-table-v1589 th:nth-child(26),
#panel-contracts .contracts-table.contract-table-v1589 td:nth-child(26){min-width:290px;}

#panel-contracts .contracts-table.contract-table-v1589 td.left{
  text-align:left;
  min-width:250px;
  max-width:300px;
  white-space:normal;
  overflow-wrap:anywhere;
}
#panel-contracts .contracts-table.contract-table-v1589 .link-btn{
  color:#1671df;
  font-weight:700;
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:3px;
}
#panel-contracts .contracts-table.contract-table-v1589 .link-btn:hover{color:#0c58b4;}
#panel-contracts .contracts-table.contract-table-v1589 .status{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:28px;
  padding:3px 11px;
  border-radius:999px;
  font-weight:700;
  white-space:nowrap;
}
#panel-contracts .contracts-table.contract-table-v1589 .actions{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  flex-wrap:nowrap;
  white-space:nowrap;
}
#panel-contracts .contracts-table.contract-table-v1589 .actions button{white-space:nowrap;}
#panel-contracts .summary-bar{border-top:0;background:#f8fbfe;}

@media (max-width:1100px){
  #panel-contracts .contracts-table.contract-table-v1589 thead th,
  #panel-contracts .contracts-table.contract-table-v1589 tbody td{padding-top:10px;padding-bottom:10px;}
}
