  /* ===== 通卷行情详情页（融合线上 tongjuan 看板） ===== */
  .tj-head { padding: 12px 16px 8px; }
  .tj-head .top { display: flex; align-items: center; gap: 10px; }
  .tj-head .back { width: 30px; height: 30px; border-radius: 50%; background: var(--card); border: 1px solid var(--bd);
    display: flex; align-items: center; justify-content: center; font-size: 17px; color: var(--t1); cursor: pointer; box-shadow: var(--shadow-sm); }
  .tj-head .nm { font-size: 17px; font-weight: 700; color: var(--t1); }
  .tj-head .tag { font-size: 10px; color: #fff; background: var(--accent); padding: 2px 8px; border-radius: 7px; font-weight: 600; }
  .tj-head .cmp { font-size: 11px; color: var(--t2); margin-left: auto; }
  .tj-head .cmp b { font-weight: 700; }
  .tj-kpi { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; padding: 10px 14px 2px; }
  .tj-kpi .k { position: relative; overflow: hidden; background: var(--card); border: 1px solid var(--border); border-radius: 12px; padding: 9px 8px 8px; text-align: center; box-shadow: var(--shadow-sm); }
  .tj-kpi .k::before { content:''; position:absolute; left:0; top:0; bottom:0; width:3px; background: var(--accent); }
  .tj-kpi .k.up::before { background: var(--up); } .tj-kpi .k.down::before { background: var(--down); }
  .tj-kpi .k .l { font-size: 10px; color: var(--t2); }
  .tj-kpi .k .v { font-size: 16px; font-weight: 700; color: var(--t1); margin-top: 2px; font-variant-numeric: tabular-nums; letter-spacing: -.3px; }
  .tj-kpi .k .s { font-size: 10px; margin-top: 1px; }
  .tj-kpi .k .s.up { color: var(--up); } .tj-kpi .k .s.down { color: var(--down); }

  .tj-chart-card { background: var(--card); border: 1px solid var(--border); border-radius: 14px; padding: 11px 13px; margin: 10px 14px 0; box-shadow: var(--shadow-sm); }
  .tj-chart-card .chead { display: flex; align-items: center; justify-content: space-between; margin-bottom: 7px; }
  .tj-chart-card .chead .ct { font-size: 13px; font-weight: 700; color: var(--t1); padding-left: 8px; position: relative; }
  .tj-chart-card .chead .ct::before { content:''; position:absolute; left:0; top:50%; transform: translateY(-50%); width:3px; height:13px; border-radius:2px; background: var(--accent); }
  .tj-chart-card .chead .cs { font-size: 10px; color: var(--t3); }
  .tj-svg { width: 100%; display: block; }

  /* K线周期/类型切换 */
  .seg-kline { display: flex; gap: 3px; background: #F0F1F4; border-radius: 9px; padding: 2.5px; margin: 0 0 8px; }
  .seg-kline span { flex: 1; text-align: center; padding: 5px 0; border-radius: 7px; font-size: 11px; color: var(--t2); font-weight: 500; cursor: pointer; }
  .seg-kline span.on { background: var(--card); color: var(--accent); font-weight: 700; box-shadow: var(--shadow-sm); }
  .seg-type { display: flex; gap: 5px; flex-wrap: wrap; margin-bottom: 7px; }
  .seg-type span { padding: 3px 9px; border-radius: 8px; font-size: 10px; color: var(--t2); background: #F0F1F4; font-weight: 500; cursor: pointer; }
  .seg-type span.on { background: var(--accent-bg); color: var(--accent); font-weight: 700; }

  /* K线数据表 */
  .kline-table { width: 100%; border-collapse: collapse; font-size: 10.5px; margin-top: 7px; }
  .kline-table th { color: var(--t3); font-weight: 500; text-align: right; padding: 3px 5px; }
  .kline-table td { color: var(--t1); text-align: right; padding: 4px 5px; border-top: 1px solid var(--border); font-variant-numeric: tabular-nums; }
  .kline-table th:first-child, .kline-table td:first-child { text-align: left; }
  .kline-table td.up { color: var(--up); } .kline-table td.down { color: var(--down); }

  /* 出售/求购汇总 */
  .tj-summary { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin: 10px 14px 0; }
  .tj-summary .sm { position: relative; overflow: hidden; background: var(--card); border: 1px solid var(--border); border-radius: 12px; padding: 10px 11px 9px 13px; box-shadow: var(--shadow-sm); }
  .tj-summary .sm::before { content:''; position:absolute; left:0; top:0; bottom:0; width:3px; }
  .tj-summary .sm.sell::before { background: var(--up); } .tj-summary .sm.buy::before { background: var(--down); }
  .tj-summary .sm .h { font-size: 11px; font-weight: 700; margin-bottom: 5px; }
  .tj-summary .sm.sell .h { color: var(--up); } .tj-summary .sm.buy .h { color: var(--down); }
  .tj-summary .sm .amt { font-size: 15px; font-weight: 700; color: var(--t1); font-variant-numeric: tabular-nums; letter-spacing: -.3px; }
  .tj-summary .sm .qty { font-size: 11px; color: var(--t2); margin-top: 2px; }

  /* 成交动态列表 */
  .tj-feed { padding: 0 2px; }
  .tj-feed .fd { display: flex; align-items: center; gap: 9px; padding: 8px 0; border-bottom: 1px solid var(--border); font-size: 13px; }
  .tj-feed .fd:last-child { border-bottom: none; }
  .tj-feed .fd .ps { width: 44px; height: 44px; border-radius: 9px; background: linear-gradient(135deg,#E6F1FB,#C0DD97); flex: 0 0 auto; }
  .tj-feed .fd .nm { flex: 1; min-width: 0; }
  .tj-feed .fd .nm .a { font-weight: 600; color: var(--t1); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .tj-feed .fd .nm .b { font-size: 10px; color: var(--t3); margin-top: 3px; }
  .tj-feed .fd .pr { text-align: right; }
  .tj-feed .fd .pr .v { font-weight: 700; color: var(--t1); font-variant-numeric: tabular-nums; }
  .tj-feed .fd .pr .t { font-size: 10px; color: var(--t2); margin-top: 3px; }
  .tj-feed .fd .pr .t.up { color: var(--up); } .tj-feed .fd .pr .t.down { color: var(--down); }

  /* 汇总表（按天/按小时） */
  .agg-table { width: 100%; border-collapse: collapse; font-size: 10.5px; }
  .agg-table th { color: var(--t3); font-weight: 500; text-align: right; padding: 4px 5px; }
  .agg-table td { color: var(--t1); text-align: right; padding: 5px 5px; border-top: 1px solid var(--border); font-variant-numeric: tabular-nums; }
  .agg-table th:first-child, .agg-table td:first-child { text-align: left; }
