/* ---------- 行情表 ---------- */
.price-tables {
  display: flex;
  margin-top: 24px;
}
.price-table {
  flex: none;
  width: 486px;
  margin-right: 20px;
}
.price-table:last-child {
  margin-right: 0;
}
.pt-body {
  padding: 0 20px 20px;
  margin-top: 20px;
}
.pt-table {
  width: 100%;
  table-layout: fixed;
}
.pt-table th {
  height: 36px;
  padding: 0 8px;
  font-size: 16px;
  font-weight: 500;
  line-height: 20px;
  color: #000;
  text-align: left;
}
.pt-table th:last-child {
  text-align: right;
  padding-right: 16px;
}
.pt-table td {
  height: 46px;
  padding: 0 8px;
  font-size: 14px;
  font-weight: 500;
  line-height: 18px;
  color: #333;
  vertical-align: middle;
}
.pt-table tbody tr:hover {
  background: #ebf1ff;
}
.pt-table .pt-empty {
  height: 200px;
  color: #999;
  text-align: center;
}
.pt-table tbody.js-panel {
  display: none;
}
.pt-table tbody.js-panel.active {
  display: table-row-group;
}
/* 斑马纹：原版行内 i%2===0 灰底；SSR 用 rowStat.odd（count 1 基）标记第 1/3/5 行 */
.pt-stripe {
  background: #f7f7f7;
}
/* 行内容超出省略号：ellipsis 需块级才生效（原版 span 为 block truncate） */
.pt-table td .ellipsis {
  display: block;
}
/* 热门原料比对型号表斑马纹（模板按 index%2==0 输出 even 类） */
.pt-table tr.even {
  background: #f7f7f7;
}
/* 热门原料比对型号：整行可点击（原版 cursor-pointer） */
.mod-hot-compare tbody tr {
  cursor: pointer;
}
.pt-name {
  position: relative;
}
.pt-row-link {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
}
.w88 {
  width: 88px;
}
.w110 {
  width: 110px;
}
.w112 {
  width: 112px;
}
.w120 {
  width: 120px;
}
.w128 {
  width: 128px;
}
.pt-right {
  text-align: right;
}
/* 末列表体与表头对齐：右对齐 + 16px 右内边距（th:last-child 同款） */
.pt-table td:last-child {
  text-align: right;
  padding-right: 16px;
}
/* 成交统计"数量(吨)"表头居中（对齐原版，表体同款居中） */
.pt-table th.stat-col-qty {
  text-align: center;
}
.pt-price.rise {
  color: #f00000;
}
.pt-price.fall {
  color: #11ad38;
}
.pt-delivery {
  display: inline-block;
  height: 16px;
  margin-right: 4px;
  padding: 0 4px;
  font-size: 10px;
  line-height: 16px;
  color: #669bd8;
  background: #e2effe;
  border-radius: 2px;
}
.pt-panel-cell {
  padding: 0 !important;
  height: auto !important;
}
.pt-inner {
  width: 100%;
  table-layout: fixed;
}
.pt-inner td {
  border: 0;
}

/* ---------- 历史价格 ---------- */
.history-wrap {
  display: flex;
  margin-top: 24px;
}
.history-card {
  flex: 1;
  min-width: 0;
  background: #ebf1ff;
}
.stat-card {
  flex: none;
  width: 360px;
  margin-left: 20px;
}
.stat-body {
  padding: 0 20px 20px;
  margin-top: 16px;
}
.stat-col-qty {
  width: 120px;
  text-align: center;
}
td.stat-col-qty {
  text-align: center;
}
.history-body {
  display: flex;
  padding: 0 20px 20px;
  margin-top: 16px;
}
.history-panel {
  display: none;
  width: 100%;
}
.history-panel.active {
  display: flex;
}
.history-chart {
  display: flex;
  flex: 1;
  min-width: 0;
  height: 446px;
  flex-direction: column;
  margin-right: 20px;
  background: #fff;
  border-radius: 6px;
}
.history-chart h3 {
  padding: 20px 20px 0;
  font-size: 18px;
  font-weight: bold;
  line-height: 20px;
  color: #333;
}
.history-chart-box {
  position: relative;
  display: flex;
  flex: 1;
  min-height: 0;
  padding: 20px;
}
.js-history-chart {
  width: 100%;
  height: 100%;
  min-height: 340px;
}
.history-chart-auth {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 10;
  display: flex;
  width: 100%;
  height: 100%;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.8);
}
.history-login-btn {
  height: 36px;
  padding: 0 24px;
  line-height: 36px;
  border-radius: 5px;
  background: #4267b5;
  color: #fff;
  font-size: 14px;
}
.history-login-btn:hover {
  opacity: 0.9;
}
.history-rows {
  flex: none;
  width: 280px;
  overflow: hidden;
  border-radius: 4px;
}
.history-row {
  display: flex;
  width: 100%;
  height: 78px;
  padding: 0 10px;
  flex-direction: column;
  justify-content: center;
  text-align: left;
  background: #fff;
}
.history-row:hover,
.history-row.active {
  background: #4267b5;
}
/* 首末行圆角对齐原版（rounded-t / rounded-b 4px）；more 按钮占最后一个 li，末行用倒数第二个 */
.history-rows li:first-child .history-row {
  border-radius: 4px 4px 0 0;
}
.history-rows li:nth-last-child(2) .history-row {
  border-radius: 0 0 4px 4px;
}
.history-row:hover p,
.history-row.active p {
  color: #fff;
}
.history-row p {
  display: block;
  width: 100%;
  overflow: hidden;
  font-size: 14px;
  font-weight: 500;
  line-height: 14px;
  color: #333;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.history-row-meta {
  display: flex;
  justify-content: space-between;
  margin-top: 4px !important;
  line-height: 18px !important;
  color: #999 !important;
}
.history-row:hover .history-row-meta,
.history-row.active .history-row-meta {
  color: rgba(255, 255, 255, 0.85) !important;
}
.history-change {
  color: #999;
}
.history-change.rise {
  color: #f00000;
}
.history-change.fall {
  color: #11ad38;
}
.history-more a {
  display: flex;
  height: 36px;
  margin-top: 20px;
  align-items: center;
  justify-content: center;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.8);
  font-size: 14px;
  font-weight: 500;
  line-height: 14px;
  color: #4267b5;
}
.history-more a:hover {
  background: #4267b5;
  color: #fff;
}

/* ---------- 物性认证 ---------- */
.physical-card {
  margin-top: 24px;
}
.physical-extra {
  overflow: hidden;
  margin: 0 0 0 12px;
  font-size: 12px;
  font-weight: 500;
  line-height: 18px;
  color: #666;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.physical-extra b {
  color: #f00000;
  font-weight: normal;
}
/* 对齐原版 mt-5 grid px-5 pb-5：padding 承担左右下，避免底部 margin 塌陷 */
.physical-panel {
  display: none;
  padding: 0 20px 20px;
  font-size: 0;
}
.physical-panel.active {
  display: block;
}
.physical-item {
  position: relative;
  display: inline-block;
  width: 33.33%;
  padding: 28px 40px 28px 0;
  vertical-align: top;
  font-size: 14px;
}
.physical-item:nth-child(3n + 2) {
  padding-left: 40px;
  padding-right: 20px;
}
.physical-item:nth-child(3n) {
  padding-left: 40px;
  padding-right: 0;
}
/* 列分隔线：上排从标题上沿起、向下接到行间横线；下排从横线起、止于内容底部。
   最外圈（本卡片顶 28px / 底 20px）不伸进空白处 */
.physical-item:nth-child(3n + 2)::before,
.physical-item:nth-child(3n)::before {
  content: "";
  position: absolute;
  top: 28px;
  bottom: 0;
  left: 0;
  width: 1px;
  background: #eeeeee;
}
.physical-item:nth-child(n + 4)::before {
  top: 0;
}
.physical-item:nth-child(n + 4) {
  padding-bottom: 0;
  border-top: 1px solid #eeeeee;
}
.physical-item h4 {
  overflow: hidden;
  font-size: 18px;
  font-weight: 500;
  line-height: 20px;
  color: #333;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.physical-item:hover h4 {
  color: #4267b5;
}
.physical-item-body {
  display: flex;
  margin-top: 16px;
}
/* 封面：100×100 实线框；无图片数据（固定占位图），不做 hover 缩放 */
.physical-cover {
  flex: none;
  width: 100px;
  height: 100px;
  margin-right: 10px;
  background-size: cover;
  background-position: center;
  border-radius: 3px;
  border: 1px solid #efefef;
}
.physical-info {
  flex: 1;
  min-width: 0;
}
.physical-auths {
  overflow: hidden;
  white-space: nowrap;
}
.auth-chip {
  display: inline-block;
  height: 17px;
  margin-right: 4px;
  padding: 0 4px;
  font-size: 12px;
  line-height: 17px;
  color: #999;
  border: 1px solid #ddd;
  border-radius: 3px;
}
.physical-grade {
  overflow: hidden;
  margin-top: 8px;
  font-size: 14px;
  line-height: 16px;
  color: #999;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.physical-behavior {
  display: flex;
  margin-top: 8px;
  align-items: center;
  font-size: 14px;
  line-height: 16px;
}
.behavior-chip {
  flex: none;
  height: 20px;
  margin-right: 8px;
  padding: 0 8px;
  font-size: 13px;
  line-height: 20px;
  color: #1565c0;
  background: #e3f2fd;
  border: 1px solid #bbdefb;
  border-radius: 3px;
}
/* 应用徽章：原版为绿色（特性蓝 / 应用绿） */
.behavior-chip.chip-apply {
  color: #2e7d32;
  background: #e8f5e9;
  border-color: #c8e6c9;
}
/* 特性/应用文字固定灰色（原版 text-[#999]）：避免继承整卡 <a> 的 hover 变蓝 */
.physical-behavior > span:last-child {
  flex: 1;
  min-width: 0;
  color: #999;
}

/* 防御：行情表所有单元格建立定位上下文，禁止整行链接逃逸到页面级 */
.pt-table td {
  position: relative;
}
