/*
 * DMA Trader 交易页手机端专用样式。
 *
 * 契约（改前先读）：
 * 1. 本文件只在 body[data-trade-mobile="1"] 时生效，该属性由 dmatrader_mobile_desk.js 设置。
 *    JS 不加载或加载失败时全部规则失效，页面回落到 dmatrader.css 原有的竖排布局。
 * 2. 桌面端样式一律不在这里改，也不要再往 dmatrader.css 里新增交易页的移动端 @media。
 * 3. 选择器统一带 body[data-trade-mobile="1"] 前缀；需要压过 dmatrader.css 里
 *    body[data-public-page="trade"] 开头的规则时，再叠一个 [data-public-page="trade"]。
 */

body[data-trade-mobile="1"] {
  overflow: hidden;
  overscroll-behavior: none;
}

body[data-trade-mobile="1"] .market-ribbon,
body[data-trade-mobile="1"] .public-main,
body[data-trade-mobile="1"] .public-footer {
  display: none;
}

body[data-trade-mobile="1"] .public-topbar {
  height: var(--mdesk-top);
  padding: env(safe-area-inset-top) max(10px, env(safe-area-inset-right)) 0 max(10px, env(safe-area-inset-left));
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 8px;
}

body[data-trade-mobile="1"] .public-brand small,
body[data-trade-mobile="1"] .public-brand strong {
  display: none;
}

body[data-trade-mobile="1"] .trade-topbar-account {
  width: auto;
  min-width: 0;
}

/* 站点导航退成抽屉：默认收起，由顶栏汉堡按钮唤出。 */
body[data-trade-mobile="1"] .public-nav {
  display: none;
}

body[data-trade-mobile="1"][data-mdesk-nav-open] .public-nav {
  position: fixed;
  z-index: 45;
  right: 0;
  bottom: 0;
  left: 0;
  height: auto;
  padding: 8px 8px calc(8px + env(safe-area-inset-bottom));
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 6px;
  border-top: 1px solid var(--public-line);
  background: rgba(7, 16, 29, .98);
}

body[data-trade-mobile="1"][data-mdesk-nav-open] .public-nav a {
  min-height: 46px;
  padding: 0 6px;
  border-radius: 8px;
  background: rgba(113, 146, 174, .08);
  font-size: 12px;
}

.mdesk-nav-toggle {
  display: none;
  width: 40px;
  height: 40px;
  border: 1px solid var(--public-line);
  border-radius: 9px;
  background: transparent;
  color: #8da3b7;
  font-size: 15px;
  line-height: 1;
  cursor: pointer;
}

body[data-trade-mobile="1"] .mdesk-nav-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

body[data-trade-mobile="1"][data-mdesk-nav-open] .mdesk-nav-toggle {
  color: #e3ecf2;
  border-color: #2f4d63;
}

/* ---- 交易台外壳：固定四带，页面本身不滚动 ---- */

.mdesk {
  position: fixed;
  z-index: 12;
  top: var(--mdesk-top);
  right: 0;
  bottom: 0;
  left: 0;
  display: flex;
  flex-direction: column;
  background: #050b12;
}

body[data-trade-mobile="1"] {
  --mdesk-top: calc(46px + env(safe-area-inset-top));
}

.mdesk[hidden] {
  display: none;
}

/* ① 品种价格带 */
.mdesk-head {
  min-height: 44px;
  padding: 5px 11px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  border-bottom: 1px solid #16242f;
  background: #071019;
}

.mdesk-symbol {
  flex: 1 1 auto;
  min-width: 0;
  padding: 0;
  display: flex;
  align-items: center;
  gap: 6px;
  border: 0;
  background: transparent;
  cursor: pointer;
}

.mdesk-favorite {
  flex: 0 0 30px;
  width: 30px;
  height: 32px;
  min-width: 30px;
  padding: 0;
  font-size: 18px;
  line-height: 1;
}

.mdesk-favorite:disabled {
  cursor: default;
  opacity: .5;
}

.mdesk-symbol strong {
  overflow: hidden;
  color: #e3ecf2;
  font-size: 15px;
  font-weight: 700;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.mdesk-symbol i {
  color: #5f7689;
  font-size: 10px;
  font-style: normal;
}

.mdesk-symbol em {
  padding: 1px 5px;
  border-radius: 4px;
  color: #7fd0c4;
  background: #12303f;
  font-size: 10px;
  font-style: normal;
  white-space: nowrap;
}

.mdesk-price {
  text-align: right;
}

.mdesk-price strong {
  display: block;
  color: #e3ecf2;
  font: 700 16px ui-monospace, SFMono-Regular, Menlo, monospace;
  font-variant-numeric: tabular-nums;
}

.mdesk-price span {
  display: block;
  color: #5f7689;
  font: 600 11px ui-monospace, SFMono-Regular, Menlo, monospace;
  font-variant-numeric: tabular-nums;
}

.mdesk-price[data-trend="up"] strong,
.mdesk-price[data-trend="up"] span { color: var(--public-green); }

.mdesk-price[data-trend="down"] strong,
.mdesk-price[data-trend="down"] span { color: var(--public-red); }

/* ② 账户 HUD：切任何标签都不消失 */
.mdesk-hud {
  min-height: 26px;
  height: 26px;
  padding: 0 4px;
  display: flex;
  align-items: center;
  border-bottom: 1px solid #16242f;
  background: #08161d;
  overflow: hidden;
}

.mdesk-hud[hidden] { display: none; }

.mdesk-hud > .trade-account-overview {
  width: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 8px;
  gap: 2px;
  overflow: hidden;
}

.mdesk-hud .trade-account-inline-metrics {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  overflow: hidden;
}

.mdesk-hud .trade-account-inline-metric {
  min-width: 0;
  max-width: none;
  padding: 0 3px;
}

.mdesk-hud .trade-account-inline-metric span {
  font-size: 7px;
}

.mdesk-hud .trade-account-inline-metric strong {
  min-width: 0;
  margin-top: 1px;
  font-size: 9px;
}

.mdesk-hud .trade-account-inline-status {
  width: 8px;
  min-width: 8px;
  gap: 0;
  overflow: hidden;
}

.mdesk-hud .trade-account-inline-status span {
  display: none;
}

.mdesk-hud .trade-account-inline-status i {
  width: 5px;
  height: 5px;
}

/* ③ 二级标签 */
.mdesk-tabs {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-bottom: 1px solid #16242f;
  background: #071019;
}

.mdesk-tabs button {
  min-height: 42px;
  padding: 0 4px;
  border: 0;
  border-radius: 0;
  color: #5f7689;
  background: transparent;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
}

.mdesk-tabs button[aria-selected="true"] {
  color: #e3ecf2;
  box-shadow: inset 0 -2px var(--public-green);
}

.mdesk-tabs button b {
  margin-left: 4px;
  color: #8da3b7;
  font-size: .85em;
  font-variant-numeric: tabular-nums;
}

/* ③ 舞台：唯一会变的区域，内部自己滚 */
.mdesk-stage {
  position: relative;
  flex: 1 1 auto;
  min-height: 0;
}

.mdesk-slot {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.mdesk-slot[hidden] { display: none; }

body[data-trade-mobile="1"] .mdesk-slot > .terminal-panel {
  min-height: 0;
  max-height: none;
  height: 100%;
  margin: 0;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

body[data-trade-mobile="1"][data-public-page="trade"] .mdesk-slot > .trade-chart-panel {
  padding: 0;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
}

body[data-trade-mobile="1"] .mdesk-slot .trade-instrument-head {
  display: none;
}

body[data-trade-mobile="1"] .mdesk-slot .trade-chart-toolbar {
  min-height: 80px;
  padding: 4px 6px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 74px auto;
  grid-template-rows: 36px 36px;
  gap: 6px;
  overflow: hidden;
}

body[data-trade-mobile="1"] .mdesk-slot .chart-intervals {
  grid-column: 1;
  grid-row: 1;
}

body[data-trade-mobile="1"] .mdesk-slot .chart-connection-status {
  grid-column: 3;
  grid-row: 1;
  min-height: 36px;
  display: inline-flex;
  align-items: center;
  gap: 2px;
}

body[data-trade-mobile="1"] .mdesk-slot .chart-connection-status span {
  width: 5ch;
  min-width: 5ch;
  max-width: 5ch;
  overflow: hidden;
  color: #7890a4;
  font: 700 9px ui-monospace, monospace;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body[data-trade-mobile="1"] .mdesk-slot .chart-connection-status button {
  min-width: 42px;
  min-height: 36px;
  padding: 0 5px;
  border: 1px solid #2a4052;
  border-radius: 6px;
  background: #0b1925;
  color: #8da3b7;
  font-size: 10px;
}

body[data-trade-mobile="1"] .mdesk-slot .orderbook-connection {
  min-height: 36px;
  display: inline-flex;
  align-items: center;
  gap: 2px;
}
body[data-trade-mobile="1"] .mdesk-slot .orderbook-connection span {
  width: 5ch;
  min-width: 5ch;
  max-width: 5ch;
  overflow: hidden;
  color: #7890a4;
  font: 700 9px ui-monospace, monospace;
  text-overflow: ellipsis;
  white-space: nowrap;
}
body[data-trade-mobile="1"] .mdesk-slot .orderbook-connection button {
  min-width: 42px;
  min-height: 36px;
  padding: 0 5px;
  border: 1px solid #2a4052;
  border-radius: 6px;
  background: #0b1925;
  color: #8da3b7;
  font-size: 10px;
}

body[data-trade-mobile="1"] .mdesk-slot .chart-connection-status[data-terminal-connection-status="live"] span {
  color: var(--public-green);
}

body[data-trade-mobile="1"] .mdesk-slot .chart-connection-status[data-terminal-connection-status="error"] span,
body[data-trade-mobile="1"] .mdesk-slot .chart-connection-status[data-terminal-connection-status="stale"] span,
body[data-trade-mobile="1"] .mdesk-slot .chart-connection-status[data-terminal-connection-status="reconnecting"] span {
  color: var(--public-warm);
}

body[data-trade-mobile="1"] .mdesk-slot .chart-intervals {
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

body[data-trade-mobile="1"] .mdesk-slot .chart-intervals button,
body[data-trade-mobile="1"] .mdesk-slot .chart-order-toggle {
  min-width: 0;
  min-height: 36px;
  padding-inline: 5px;
}

/* 手机 K 线常驻普通/条件单/跟踪单三键；切换不再打开“更多”面板。 */
body[data-trade-mobile="1"] .mdesk-slot .chart-order-controls {
  grid-column: 1;
  grid-row: 2;
  width: 100%;
  min-width: 0;
  min-height: 36px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 4px;
}
body[data-trade-mobile="1"] .mdesk-slot .chart-order-mode {
  width: auto;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  padding: 3px;
}
body[data-trade-mobile="1"] .mdesk-slot .chart-order-mode button {
  width: auto;
  min-height: 28px;
  padding-inline: 6px;
}
body[data-trade-mobile="1"] .mdesk-slot .chart-order-mode-params {
  width: 58px;
  min-width: 58px;
  display: inline-flex;
  flex: 0 0 58px;
}
body[data-trade-mobile="1"] .mdesk-slot .chart-order-mode-params.empty {
  display: none;
}
body[data-trade-mobile="1"] .mdesk-slot .chart-order-mode-params label > span {
  display: none;
}
body[data-trade-mobile="1"] .mdesk-slot .chart-order-mode-params input,
body[data-trade-mobile="1"] .mdesk-slot .chart-order-mode-params select {
  width: 42px;
  min-height: 28px;
}

/* 手机用紧凑三态选择器切图，不在窄屏强制 K 线/热图分屏。 */
body[data-trade-mobile="1"] .mdesk-slot .chart-help {
  grid-column: 3;
  grid-row: 2;
  display: block;
  margin: 0;
}
body[data-trade-mobile="1"] .mdesk-slot .chart-mode-switch {
  display: none;
}
body[data-trade-mobile="1"] .mdesk-slot .chart-mobile-mode {
  grid-column: 2;
  grid-row: 1;
  min-width: 0;
  display: block;
}
body[data-trade-mobile="1"] .mdesk-slot .chart-mobile-mode .site-select-native {
  display: none;
}
body[data-trade-mobile="1"] .mdesk-slot .chart-mobile-mode .site-select-trigger,
body[data-trade-mobile="1"] .mdesk-slot .chart-mobile-mode select {
  width: 74px;
  min-width: 74px;
  height: 36px;
  min-height: 36px;
  padding-inline: 6px;
  border: 1px solid #2a4052;
  border-radius: 6px;
  background: #0b1925;
  color: #d3dee7;
  font-size: 10px;
}
body[data-trade-mobile="1"] .mdesk-slot .chart-help summary {
  width: 36px;
  height: 36px;
}
body[data-trade-mobile="1"] .mdesk-slot .chart-help-panel {
  position: fixed;
  top: calc(env(safe-area-inset-top) + 116px);
  right: 10px;
  left: 10px;
  width: auto;
  max-height: calc(100dvh - env(safe-area-inset-top) - 136px);
}

body[data-trade-mobile="1"] .mdesk-slot .chart-order-toggle {
  grid-column: 2;
  grid-row: 2;
  min-width: 72px;
}

body[data-trade-mobile="1"][data-public-page="trade"] .mdesk-slot > .trade-microstructure {
  grid-template-columns: 1.15fr 1fr;
  grid-template-rows: minmax(0, 1fr);
}

body[data-trade-mobile="1"] .mdesk-slot .micro-section + .micro-section {
  border-top: 0;
  border-left: 1px solid #1c2a36;
}

/* 订单簿在半屏宽下放弃「累计数量」列，价格和数量才读得清。 */
body[data-trade-mobile="1"] .mdesk-slot .orderbook-section .micro-table-head,
body[data-trade-mobile="1"] .mdesk-slot .orderbook-section .micro-row {
  grid-template-columns: minmax(0, 1fr) minmax(0, auto);
  column-gap: 4px;
}

body[data-trade-mobile="1"] .mdesk-slot .orderbook-section .micro-table-head > *:nth-child(3),
body[data-trade-mobile="1"] .mdesk-slot .orderbook-section .micro-row > *:nth-child(3) {
  display: none;
}

/* 逐笔三列都要保留，靠列间距和字号避免数量与时间粘连。 */
body[data-trade-mobile="1"] .mdesk-slot .tas-section .micro-table-head,
body[data-trade-mobile="1"] .mdesk-slot .tas-row {
  padding-inline: 6px 4px;
  grid-template-columns: minmax(0, .88fr) minmax(0, .66fr) minmax(0, .76fr);
  column-gap: 4px;
  font-size: 11px;
}

body[data-trade-mobile="1"] .mdesk-slot .micro-section .terminal-panel-title {
  min-height: 32px;
  height: 32px;
  padding: 3px 5px;
  align-items: center;
  flex-direction: row;
  gap: 3px;
}

body[data-trade-mobile="1"] .mdesk-slot .micro-section .terminal-panel-title > strong {
  flex: 0 0 auto;
  font-size: 10px;
  white-space: nowrap;
}

body[data-trade-mobile="1"] .mdesk-slot .depth-controls,
body[data-trade-mobile="1"] .mdesk-slot .tas-controls {
  width: auto;
  min-width: 0;
  flex: 1 1 auto;
  justify-content: flex-end;
  gap: 2px;
}

body[data-trade-mobile="1"] .mdesk-slot .depth-controls .site-select-trigger,
body[data-trade-mobile="1"] .mdesk-slot .tas-controls .site-select-trigger {
  min-width: 0;
  max-width: 78px;
  min-height: 28px;
  padding-inline: 3px;
  font-size: 11px;
}

/* 选择层已抽到全站组件；这里只保留手机交易台的紧凑占位规则。 */
body[data-trade-mobile="1"][data-public-page="trade"] .site-select-trigger {
  min-width: 58px;
  max-width: 78px;
  height: 30px;
  padding: 0 6px 0 8px;
  gap: 4px;
  border-radius: 7px;
  font: 700 10px ui-monospace, SFMono-Regular, Menlo, monospace;
}

body[data-trade-mobile="1"] .trade-topbar-account .site-select-trigger-account {
  width: 100%;
  min-width: 0;
  max-width: none;
  height: 30px;
  padding-inline: 0;
  font-size: 11px;
}

body[data-trade-mobile="1"] .mdesk-slot .trade-venue-select .site-select-trigger-venue {
  width: 100%;
  min-width: 0;
  max-width: none;
  height: 38px;
  font-size: 11px;
}

body[data-trade-mobile="1"] .mdesk-slot .trade-market-tools .site-select-trigger,
body[data-trade-mobile="1"] .mdesk-slot .trade-signal-tools .site-select-trigger {
  width: 100%;
  min-width: 0;
  max-width: none;
  height: 40px;
}

body[data-trade-mobile="1"][data-public-page="trade"] .mdesk-slot .depth-controls button:not(.site-select-trigger) {
  min-width: 34px;
  min-height: 28px;
  padding-inline: 4px;
  font-size: 10px;
}

body[data-trade-mobile="1"] .mdesk-slot .tas-controls > span {
  min-width: 0;
  overflow: hidden;
  font-size: 8px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body[data-trade-mobile="1"][data-public-page="trade"] .mdesk-slot > .trade-account-panel {
  grid-template-rows: auto minmax(0, 1fr);
}

body[data-trade-mobile="1"] .mdesk-slot .trade-account-empty {
  min-height: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: minmax(0, 1fr);
  align-content: stretch;
  align-items: stretch;
  overflow: hidden;
}

body[data-trade-mobile="1"] .mdesk-slot .trade-ai-inline {
  display: none;
}

body[data-trade-mobile="1"][data-public-page="trade"] .mdesk-slot > .trade-symbol-panel {
  display: grid;
  grid-template-rows: auto auto auto minmax(0, 1fr);
}

body[data-trade-mobile="1"] .mdesk-slot .trade-symbol-list {
  min-height: 0;
  max-height: none;
  padding: 6px;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-content: start;
  gap: 5px;
  overflow-x: hidden;
  overflow-y: auto;
}

body[data-trade-mobile="1"] .mdesk-slot .trade-symbol-row {
  flex: none;
  min-height: 44px;
  padding: 4px 6px;
  grid-template-columns: 30px minmax(82px, 1fr) minmax(150px, auto);
  gap: 5px;
}

body[data-trade-mobile="1"] .mdesk-slot .trade-symbol-row > .favorite-actions {
  width: 30px;
  min-width: 30px;
  min-height: 36px;
  justify-self: center;
}

body[data-trade-mobile="1"] .mdesk-slot .trade-symbol-row .symbol-lockup small,
body[data-trade-mobile="1"] .mdesk-slot .trade-symbol-numbers em small { display: none; }

body[data-trade-mobile="1"] .mdesk-slot .trade-symbol-row .symbol-lockup strong {
  font-size: 11px;
}

body[data-trade-mobile="1"] .mdesk-slot .trade-symbol-numbers {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(78px, 1fr) minmax(62px, auto);
  align-items: center;
  gap: 8px;
}

body[data-trade-mobile="1"] .mdesk-slot .trade-symbol-numbers strong,
body[data-trade-mobile="1"] .mdesk-slot .trade-symbol-numbers em {
  min-width: 0;
  margin: 0;
  display: block;
  font-size: 10px;
  line-height: 1;
  text-align: right;
}

body[data-trade-mobile="1"] .mdesk-slot .trade-side-tabs button,
body[data-trade-mobile="1"] .mdesk-slot .trade-tradfi-only {
  min-height: 40px;
}

body[data-trade-mobile="1"] .mdesk-slot .trade-market-tools select {
  min-height: 40px;
  font-size: 16px;
}

body[data-trade-mobile="1"] .mdesk-slot .trade-account-tabs button,
body[data-trade-mobile="1"] .mdesk-slot .trade-account-tools button,
body[data-trade-mobile="1"] .mdesk-slot .trade-account-access [data-login-trigger] {
  min-height: 44px;
  font-size: 12px;
}

body[data-trade-mobile="1"] .mdesk-slot .trade-account-heading {
  min-height: 82px;
  padding: 5px 7px;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: 42px 32px;
  gap: 3px;
}

body[data-trade-mobile="1"] .mdesk-slot .trade-account-tabs {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 2px;
  overflow: hidden;
}

body[data-trade-mobile="1"] .mdesk-slot .trade-account-tabs button {
  min-width: 0;
  min-height: 40px;
  padding-inline: 2px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body[data-trade-mobile="1"] .mdesk-slot .trade-account-tools {
  width: 100%;
  min-height: 32px;
  margin: 0;
  justify-content: space-between;
}

body[data-trade-mobile="1"] .mdesk-slot .trade-account-tools button {
  min-height: 32px;
}

body[data-trade-mobile="1"] .mdesk-slot .trade-account-data {
  min-width: 0;
  min-height: 0;
  height: 100%;
  grid-template-rows: 26px minmax(0, 1fr);
  overflow: hidden;
}

body[data-trade-mobile="1"] .mdesk-slot .trade-account-rows {
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior-y: contain;
  touch-action: pan-y;
}

body[data-trade-mobile="1"][data-public-page="trade"] .mdesk-slot .trade-account-row {
  width: 100%;
  min-width: 0;
  min-height: 42px;
  padding: 4px 6px;
  display: grid;
  grid-template-columns: 46px minmax(76px, 1fr) 44px minmax(68px, .85fr) minmax(76px, .95fr);
  gap: 4px;
}

body[data-trade-mobile="1"][data-public-page="trade"] .mdesk-slot .trade-account-row[data-has-actions="true"] {
  grid-template-columns: 46px minmax(76px, 1fr) 44px minmax(68px, .85fr) minmax(76px, .95fr);
}

body[data-trade-mobile="1"][data-public-page="trade"] .mdesk-slot .trade-account-data[data-account-has-actions="true"] .trade-account-table-head,
body[data-trade-mobile="1"][data-public-page="trade"] .mdesk-slot .trade-account-data[data-account-has-actions="true"] .trade-account-row {
  grid-template-columns: 46px minmax(76px, 1fr) 44px minmax(68px, .85fr) minmax(76px, .95fr);
}

body[data-trade-mobile="1"] .mdesk-slot .trade-account-table-head {
  min-height: 26px;
  padding: 0 6px;
  display: grid;
  grid-template-columns: 46px minmax(76px, 1fr) 44px minmax(68px, .85fr) minmax(76px, .95fr);
  align-items: center;
  gap: 4px;
  font-size: 8px;
}

body[data-trade-mobile="1"] .mdesk-slot .trade-account-table-head [data-cell-role="result"],
body[data-trade-mobile="1"] .mdesk-slot .trade-account-table-head [data-cell-role="detail"],
body[data-trade-mobile="1"] .mdesk-slot .trade-account-row [data-cell-role="result"],
body[data-trade-mobile="1"] .mdesk-slot .trade-account-row [data-cell-role="detail"] {
  display: none;
}

body[data-trade-mobile="1"] .mdesk-slot .trade-account-cell {
  min-width: 0;
  overflow: hidden;
  font-size: 9px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body[data-trade-mobile="1"] .mdesk-slot .trade-account-market-link {
  gap: 3px;
}

body[data-trade-mobile="1"] .mdesk-slot .trade-account-market-link small {
  font-size: 7px;
}

body[data-trade-mobile="1"] .mdesk-slot .trade-account-cell[data-cell-role="price"],
body[data-trade-mobile="1"] .mdesk-slot .trade-account-cell[data-cell-role="notional"] {
  text-align: right;
  font: 700 9px ui-monospace, monospace;
  font-variant-numeric: tabular-nums;
}

body[data-trade-mobile="1"] .mdesk-slot .trade-account-data[data-account-has-actions="false"] .trade-account-table-head,
body[data-trade-mobile="1"] .mdesk-slot .trade-account-data[data-account-has-actions="false"] .trade-account-row {
  grid-template-columns: minmax(92px, 1fr) 48px minmax(76px, .9fr) minmax(84px, 1fr);
}

body[data-trade-mobile="1"] .mdesk-slot .trade-account-row-content {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 6px;
}

body[data-trade-mobile="1"] .mdesk-slot .trade-account-row-head,
body[data-trade-mobile="1"] .mdesk-slot .trade-account-row-foot {
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

body[data-trade-mobile="1"] .mdesk-slot .trade-account-identity {
  min-width: 0;
  display: flex;
  align-items: baseline;
  gap: 6px;
}

body[data-trade-mobile="1"] .mdesk-slot .trade-account-identity strong,
body[data-trade-mobile="1"] .mdesk-slot .trade-account-identity span,
body[data-trade-mobile="1"] .mdesk-slot .trade-account-highlight,
body[data-trade-mobile="1"] .mdesk-slot .trade-account-row-foot > span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body[data-trade-mobile="1"] .mdesk-slot .trade-account-highlight {
  text-align: right;
  font-size: 11px;
  font-variant-numeric: tabular-nums;
}

body[data-trade-mobile="1"] .mdesk-slot .trade-account-highlight[data-trend="up"] { color: var(--public-green); }
body[data-trade-mobile="1"] .mdesk-slot .trade-account-highlight[data-trend="down"] { color: var(--public-red); }

body[data-trade-mobile="1"] .mdesk-slot .trade-account-row-metrics {
  margin: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 5px;
}

body[data-trade-mobile="1"] .mdesk-slot .trade-account-row-metrics div {
  min-width: 0;
  padding: 4px 5px;
  border-radius: 4px;
  background: rgba(109, 143, 170, .055);
}

body[data-trade-mobile="1"] .mdesk-slot .trade-account-row-metrics dt,
body[data-trade-mobile="1"] .mdesk-slot .trade-account-row-metrics dd {
  margin: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body[data-trade-mobile="1"] .mdesk-slot .trade-account-row-metrics dt {
  color: #587085;
  font-size: 8px;
}

body[data-trade-mobile="1"] .mdesk-slot .trade-account-row-metrics dd {
  margin-top: 2px;
  color: #a9bbc8;
  text-align: right;
  font: 700 10px ui-monospace, monospace;
  font-variant-numeric: tabular-nums;
}

body[data-trade-mobile="1"] .mdesk-slot .trade-account-row-foot > span {
  color: #647b8e;
  font-size: 9px;
}

body[data-trade-mobile="1"] .mdesk-slot .trade-account-row-actions {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  gap: 5px;
}

body[data-trade-mobile="1"] .mdesk-slot .trade-account-row-actions button {
  min-width: 44px;
  min-height: 34px;
  padding: 0 5px;
}

body[data-trade-mobile="1"] .mdesk-slot .trade-signal-list {
  min-height: 0;
  max-height: none;
  display: block;
  overflow-y: auto;
}

body[data-trade-mobile="1"] .mdesk-slot .trade-alert-row,
body[data-trade-mobile="1"] .mdesk-slot .trade-liquidation-row {
  min-height: 40px;
  padding: 4px 7px;
  display: grid;
  align-items: center;
  gap: 5px;
}

body[data-trade-mobile="1"] .mdesk-slot .trade-alert-row {
  grid-template-columns: minmax(76px, 1fr) 38px 58px minmax(66px, .8fr) 50px;
}

body[data-trade-mobile="1"] .mdesk-slot .trade-liquidation-row {
  grid-template-columns: 58px 64px minmax(72px, 1fr) minmax(56px, .75fr) 50px;
}

body[data-trade-mobile="1"] .mdesk-slot .trade-alert-row header,
body[data-trade-mobile="1"] .mdesk-slot .trade-alert-row > div,
body[data-trade-mobile="1"] .mdesk-slot .trade-liquidation-row header,
body[data-trade-mobile="1"] .mdesk-slot .trade-liquidation-row > div {
  display: contents;
}

body[data-trade-mobile="1"] .mdesk-slot .trade-alert-row header strong,
body[data-trade-mobile="1"] .mdesk-slot .trade-liquidation-row header strong,
body[data-trade-mobile="1"] .mdesk-slot .trade-alert-row > div b,
body[data-trade-mobile="1"] .mdesk-slot .trade-liquidation-row > div b,
body[data-trade-mobile="1"] .mdesk-slot .trade-alert-row > div span,
body[data-trade-mobile="1"] .mdesk-slot .trade-liquidation-row > div span,
body[data-trade-mobile="1"] .mdesk-slot .trade-alert-row footer,
body[data-trade-mobile="1"] .mdesk-slot .trade-liquidation-row footer {
  min-width: 0;
  margin: 0;
  overflow: hidden;
  font-size: 9px;
  line-height: 1;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body[data-trade-mobile="1"] .mdesk-slot .trade-alert-row footer { display: none; }
body[data-trade-mobile="1"] .mdesk-slot .trade-liquidation-row footer { grid-column: 4; grid-row: 1; }
body[data-trade-mobile="1"] .mdesk-slot .trade-alert-row time,
body[data-trade-mobile="1"] .mdesk-slot .trade-liquidation-row time {
  grid-column: 5;
  grid-row: 1;
  font-size: 8px;
  text-align: right;
}

body[data-trade-mobile="1"] .trade-desktop-commands { display: none; }
body[data-trade-mobile="1"] .chart-account-label {
  width: 60%;
  max-width: 60%;
  min-height: 25px;
  font-size: 9px;
}

/* 市场范围直接并入市场面板：品种类型与交易所保持同一紧凑行。 */
body[data-trade-mobile="1"][data-public-page="trade"] .mdesk-slot .trade-market-scope {
  min-height: 66px;
  padding: 6px;
  grid-template-columns: minmax(0, 1fr) 112px;
  grid-template-rows: 40px auto;
  gap: 6px;
}

body[data-trade-mobile="1"][data-public-page="trade"] .mdesk-slot .trade-product-switch {
  grid-column: 1;
  grid-row: 1;
  overflow: hidden;
}

body[data-trade-mobile="1"][data-public-page="trade"] .mdesk-slot .trade-product-switch button {
  flex: 1 1 0;
  min-width: 0;
  min-height: 40px;
  padding-inline: 4px;
  font-size: 12px;
}

body[data-trade-mobile="1"] .mdesk-slot .trade-venue-select {
  grid-column: 2;
  grid-row: 1;
}

body[data-trade-mobile="1"] .mdesk-slot .trade-venue-select select {
  min-height: 40px;
  font-size: 16px;
}

body[data-trade-mobile="1"] .mdesk-slot .trade-market-scope-note {
  grid-column: 1 / -1;
  grid-row: 2;
  font-size: 9px;
  text-align: left;
}

/* ④ 下单核心：常驻拇指区，收起态只留价格 / 金额 / 方向 / 提交 */
/* 面板本体改成两列栅格：只有 .order-field 半宽并排，其余控件整行。
   价格 / 数量常态占一行；切到止损或追踪时，触发价与回调比例自动流进第二行。 */
body[data-trade-mobile="1"][data-public-page="trade"] .mdesk-core > .trade-order-panel {
  min-height: 0;
  max-height: none;
  height: auto;
  margin: 0;
  padding: 7px 10px calc(7px + env(safe-area-inset-bottom));
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-content: start;
  gap: 6px;
  border: 0;
  border-top: 1px solid #16242f;
  border-radius: 0;
  background: #081420;
  overflow: visible;
  position: relative;
}

body[data-trade-mobile="1"] .mdesk-core > .trade-order-panel > *:not(.order-field) {
  grid-column: 1 / -1;
}

body[data-trade-mobile="1"] .mdesk-core .trade-side-switch {
  margin-bottom: 0;
}

body[data-trade-mobile="1"][data-public-page="trade"] .mdesk-core .trade-side-switch button {
  min-height: 44px;
  font-size: 14px;
}

/* 收起态隐去文字标签，靠输入框右侧的单位后缀区分价格与数量。
   input 保持 16px：低于 16px 时 iOS Safari 聚焦会强制放大页面。 */
body[data-trade-mobile="1"] .mdesk-core .order-field {
  margin: 0;
  display: flex;
  align-items: center;
  font-size: 0;
}

body[data-trade-mobile="1"] .mdesk-core .order-field > [data-order-amount-label] {
  display: none;
}

body[data-trade-mobile="1"][data-public-page="trade"] .mdesk-core .order-field > span:last-child {
  flex: 1 1 auto;
  min-width: 0;
  min-height: 40px;
  font-size: 12px;
}

/* 展开态把标签还回来，此时纵向空间够。 */
body[data-trade-mobile="1"] .mdesk-core[data-expanded="1"] .order-field {
  display: block;
  color: #6f889b;
  font-size: 11px;
}

body[data-trade-mobile="1"] .mdesk-core[data-expanded="1"] .order-field > [data-order-amount-label] {
  display: inline;
}

/* 结果提示始终占用同一个单行槽位，禁止因文字多少改变 K 线高度。 */
body[data-trade-mobile="1"] .mdesk-core .trade-action-status {
  min-width: 0;
  min-height: 18px;
  max-height: 18px;
  margin: 0;
  overflow: hidden;
  font-size: 10px;
  line-height: 18px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body[data-trade-mobile="1"] .mdesk-core .trade-action-status:empty {
  display: block;
  visibility: hidden;
}

body[data-trade-mobile="1"][data-public-page="trade"] .mdesk-core .trade-submit {
  min-height: 48px;
  margin-top: 2px;
  font-size: 15px;
}

body[data-trade-mobile="1"] .mdesk-core[data-expanded="0"] .order-quick-amounts > span,
body[data-trade-mobile="1"] .mdesk-core[data-expanded="0"] .quick-amount-config {
  display: none;
}

body[data-trade-mobile="1"] .mdesk-core[data-expanded="1"] .order-quick-amounts > span {
  display: flex;
}

body[data-trade-mobile="1"] .mdesk-core[data-expanded="1"] .quick-amount-config:not([hidden]) {
  display: block;
}

body[data-trade-mobile="1"] .mdesk-core .order-quick-amounts > div {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 5px;
}

body[data-trade-mobile="1"][data-public-page="trade"] .mdesk-core .order-quick-amounts button {
  min-height: 44px;
}

/* 收起态隐藏的次要控件；展开后原样出现，不改任何下单语义。 */
body[data-trade-mobile="1"] .mdesk-core[data-expanded="0"] .terminal-panel-title,
body[data-trade-mobile="1"] .mdesk-core[data-expanded="0"] .order-type-row,
body[data-trade-mobile="1"] .mdesk-core[data-expanded="0"] .contract-options,
body[data-trade-mobile="1"] .mdesk-core[data-expanded="0"] .order-price-shortcuts,
body[data-trade-mobile="1"] .mdesk-core[data-expanded="0"] .order-execution-options,
body[data-trade-mobile="1"] .mdesk-core[data-expanded="0"] .trade-access-note,
body[data-trade-mobile="1"] .mdesk-core[data-expanded="0"] [data-order-total-field] {
  display: none;
}

body[data-trade-mobile="1"] .mdesk-core[data-expanded="1"] > .trade-order-panel {
  max-height: none;
  overflow-y: auto;
}

/* 竖屏展开态升级为键盘安全的完整下单工作区。仍然复用原有表单与提交按钮。 */
body[data-trade-mobile="1"] .mdesk-core[data-expanded="1"] {
  position: fixed;
  z-index: 48;
  top: calc(var(--mdesk-top) + var(--mdesk-visual-top, 0px));
  right: 0;
  left: 0;
  height: calc(var(--mdesk-visual-height, 100dvh) - var(--mdesk-top));
  display: flex;
  flex-direction: column;
  background: #081420;
}

body[data-trade-mobile="1"] .mdesk-core[data-expanded="1"] > .trade-order-panel {
  flex: 1 1 auto;
  padding-top: 40px;
  padding-bottom: calc(12px + env(safe-area-inset-bottom));
  overscroll-behavior: contain;
}

body[data-trade-mobile="1"] .mdesk-core[data-expanded="1"] .trade-submit {
  position: sticky;
  z-index: 3;
  bottom: 0;
  box-shadow: 0 -8px 18px #081420;
}

body[data-trade-mobile="1"] .mdesk-core[data-expanded="1"] .mdesk-core-handle {
  position: absolute;
  z-index: 4;
  top: 8px;
}

.mdesk-core {
  flex: 0 0 auto;
  position: relative;
}

/* ---- 下单核心按标签变形态 ---- */

/* 账户 / 市场：整块隐藏，高度还给舞台。 */
.mdesk-core[data-core-mode="off"] { display: none; }

/* 图表页只留方向条与快捷金额：这一页靠点图取价下单，
   再放一个价格输入框既占地方又和图上取价语义重复。 */
.mdesk-core[data-core-mode="quick"][data-expanded="0"] .order-field,
.mdesk-core[data-core-mode="quick"][data-expanded="0"] .order-price-shortcuts {
  display: none;
}

/* 图表页的下单核心使用固定三行：方向+提交、快捷金额、状态。
   无草稿或极速态只置灰原提交按钮，不改变区域高度。 */
.mdesk-core[data-core-mode="quick"][data-expanded="0"] > .trade-order-panel {
  box-sizing: border-box;
  height: 132px;
  min-height: 132px;
  grid-template-columns: minmax(0, 1.45fr) minmax(92px, .75fr);
  grid-template-rows: 44px 44px 18px;
}

body[data-trade-mobile="1"] .mdesk-core[data-core-mode="quick"][data-expanded="0"] .trade-side-switch {
  grid-column: 1;
  grid-row: 1;
  width: 100%;
  min-height: 44px;
  height: 44px;
  margin: 0;
  gap: 5px;
}

body[data-trade-mobile="1"] .mdesk-core[data-core-mode="quick"][data-expanded="0"] .trade-side-switch button {
  min-height: 44px;
  height: 44px;
}

body[data-trade-mobile="1"] .mdesk-core[data-core-mode="quick"][data-expanded="0"] .trade-submit {
  grid-column: 2;
  grid-row: 1;
  width: 100%;
  min-height: 44px;
  height: 44px;
  margin: 0;
}

body[data-trade-mobile="1"] .mdesk-core[data-core-mode="quick"][data-expanded="0"] .order-quick-amounts {
  grid-column: 1 / -1;
  grid-row: 2;
  min-width: 0;
  min-height: 44px;
  height: 44px;
  margin: 0;
}

body[data-trade-mobile="1"] .mdesk-core[data-core-mode="quick"][data-expanded="0"] .order-quick-amounts > div {
  min-height: 44px;
  height: 44px;
  margin: 0;
}

body[data-trade-mobile="1"] .mdesk-core[data-core-mode="quick"][data-expanded="0"] .trade-action-status {
  grid-column: 1 / -1;
  grid-row: 3;
}

.mdesk-core[data-core-mode="quick"][data-expanded="0"] .trade-submit[data-mobile-locked="1"],
.mdesk-core[data-core-mode="quick"][data-expanded="0"] .trade-submit:disabled {
  border-color: #253746;
  background: #142330;
  color: #5e7282;
  box-shadow: none;
  cursor: not-allowed;
  opacity: 1;
}

/* 意图条只在点图下单的图表页出现。 */
.mdesk-core-intent { display: none; }

.mdesk-core[data-core-mode="quick"][data-expanded="0"] .mdesk-core-intent {
  min-height: 40px;
  padding: 0 2px 5px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.mdesk-core-intent > span {
  min-width: 0;
  flex: 1 1 auto;
  overflow: hidden;
  color: #7f97ab;
  font-size: 11px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.mdesk[data-side="buy"] .mdesk-core-intent > span { color: #6fc79c; }
.mdesk[data-side="sell"] .mdesk-core-intent > span { color: #e08b95; }

.mdesk-instant-toggle,
.mdesk-post-only-toggle,
.mdesk-draft-cancel {
  flex: 0 0 auto;
  min-height: 36px;
  padding: 0 11px;
  border: 1px solid #2a3f52;
  border-radius: 7px;
  color: #8da3b7;
  background: transparent;
  font-size: 11px;
  font-weight: 700;
  cursor: pointer;
}

.mdesk-post-only-toggle[aria-pressed="true"] {
  color: #b9efa0;
  border-color: rgba(140, 214, 103, .58);
  background: rgba(109, 190, 71, .13);
}

.mdesk-post-only-toggle:disabled {
  color: #536777;
  border-color: #233543;
  background: transparent;
  cursor: not-allowed;
  opacity: .68;
}

.mdesk-draft-cancel {
  color: #d7a9af;
  border-color: rgba(226, 87, 75, .38);
}

.mdesk-draft-cancel[hidden] { display: none; }

.mdesk-instant-toggle[aria-pressed="true"] {
  color: #ffe6a6;
  border-color: #a97a24;
  background: rgba(237, 186, 89, .16);
}

/* 手机专用五键交易带，只派发意图，真实写请求仍走唯一的原交易提交链路。 */
.mdesk-trade-commands { display: none; }

.mdesk-core[data-core-mode="quick"][data-expanded="0"] .mdesk-trade-commands {
  min-height: 48px;
  padding: 0 8px 4px;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 4px;
  background: #081420;
}

.mdesk-command {
  min-width: 0;
  min-height: 44px;
  padding: 0 1px;
  overflow: hidden;
  text-overflow: ellipsis;
  border: 1px solid #293e50;
  border-radius: 6px;
  background: #0c1c29;
  color: #90a7b8;
  font-size: 10px;
  font-weight: 750;
  white-space: nowrap;
}

.mdesk-command.buy { color: #63c997; border-color: rgba(73, 216, 154, .32); }
.mdesk-command.sell { color: #ed8793; border-color: rgba(226, 87, 75, .34); }
.mdesk-command.close { color: #e8b36e; border-color: rgba(237, 186, 89, .36); }
.mdesk-command:disabled { opacity: .45; cursor: not-allowed; }

/* 图表按当前方向染边：不用读文字，余光就知道下一击会做什么。
   极速态（已关闭提交前确认，点图直发真单）用更重的实边和内发光区分。 */
.mdesk[data-side="buy"] .mdesk-slot[data-mdesk-slot="chart"] {
  box-shadow: inset 0 0 0 1px rgba(73, 216, 154, .3);
}

.mdesk[data-side="sell"] .mdesk-slot[data-mdesk-slot="chart"] {
  box-shadow: inset 0 0 0 1px rgba(226, 87, 75, .32);
}

.mdesk[data-instant="1"][data-side="buy"] .mdesk-slot[data-mdesk-slot="chart"] {
  box-shadow: inset 0 0 0 2px rgba(73, 216, 154, .82), inset 0 0 18px rgba(73, 216, 154, .12);
}

.mdesk[data-instant="1"][data-side="sell"] .mdesk-slot[data-mdesk-slot="chart"] {
  box-shadow: inset 0 0 0 2px rgba(226, 87, 75, .85), inset 0 0 18px rgba(226, 87, 75, .12);
}

/* 极速态下方向按钮也加实心底，避免只靠边框颜色区分买卖。 */
.mdesk[data-instant="1"] .mdesk-core .trade-side-switch button[aria-pressed="true"] {
  box-shadow: inset 0 0 0 2px currentColor;
}

.mdesk-core-handle {
  position: absolute;
  z-index: 2;
  top: -26px;
  right: 10px;
  height: 24px;
  padding: 0 11px;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  border: 1px solid #2a3f52;
  border-bottom: 0;
  border-radius: 8px 8px 0 0;
  color: #8da3b7;
  background: #081420;
  font-size: 11px;
  font-weight: 600;
  cursor: pointer;
}

.mdesk-core-handle::after {
  content: "▲";
  font-size: 8px;
}

.mdesk-core[data-expanded="1"] .mdesk-core-handle::after {
  content: "▼";
}

/* 横屏：舞台在左、下单常驻在右，标签只切换左侧。此时纵向不够，
   顶栏也一并收掉，全部高度让给图表与盘口。 */
@media (orientation: landscape) and (max-height: 520px) {
  body[data-trade-mobile="1"] { --mdesk-top: 0px; }
  body[data-trade-mobile="1"] .public-topbar { display: none; }

  .mdesk {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 232px;
    grid-template-rows: auto auto auto minmax(0, 1fr);
  }

  body[data-trade-mobile="1"] .mdesk-core[data-expanded="1"] {
    position: relative;
    z-index: auto;
    top: auto;
    right: auto;
    left: auto;
    height: auto;
    display: block;
  }

  body[data-trade-mobile="1"] .mdesk-core[data-expanded="1"] > .trade-order-panel {
    padding-top: 7px;
  }

  body[data-trade-mobile="1"] .mdesk-core[data-expanded="1"] .trade-submit {
    position: static;
    box-shadow: none;
  }

  /* 仓位 / 市场页核心是隐藏的，右栏要收回去，否则白占 232px。 */
  .mdesk:has(.mdesk-core[data-core-mode="off"]) {
    grid-template-columns: minmax(0, 1fr);
  }
  /* 必须显式指定行号：HUD 未登录时是 display:none，不占栅格位，
     靠自动排布会把 stage 顶到 auto 行上、高度塌成 0。 */
  .mdesk-head {
    grid-column: 1 / -1;
    grid-row: 1;
    min-height: 36px;
  }
  .mdesk-hud {
    grid-column: 1 / -1;
    grid-row: 2;
  }
  .mdesk-tabs {
    grid-column: 1;
    grid-row: 3;
  }
  .mdesk-stage {
    grid-column: 1;
    grid-row: 4;
  }
  .mdesk-core {
    grid-column: 2;
    grid-row: 3 / span 2;
    border-left: 1px solid #16242f;
    overflow-y: auto;
  }
  .mdesk-core-handle { display: none; }

  /* 侧栏只有 232px，下单字段回到单列。 */
  body[data-trade-mobile="1"][data-public-page="trade"] .mdesk-core > .trade-order-panel {
    grid-template-columns: minmax(0, 1fr);
    padding-bottom: 8px;
  }
  body[data-trade-mobile="1"] .mdesk-core[data-expanded="0"] .order-type-row {
    display: flex;
    overflow-x: auto;
  }
}
