    /* 账户收益模块共用主题颜色及原有表格规范。 */
    .pnl-header, .pnl-view-heading {
      display: flex;
      justify-content: space-between;
      align-items: flex-start;
      flex-wrap: wrap;
      gap: 0.75rem;
    }
    .pnl-header > div:first-child, .pnl-view-heading > div:first-child { flex: 1 1 18rem; }
    .pnl-actions { display: flex; gap: 0.5rem; flex-wrap: wrap; }
    .pnl-scope-toolbar { display: flex; align-items: center; flex-wrap: wrap; gap: 0.85rem; margin: 0.8rem 0; padding: 0.85rem; border: 1px solid var(--border); border-radius: 8px; background: var(--panel); }
    .pnl-scope-toolbar .ops-field { flex: 0 1 14rem; min-width: 0; }
    .pnl-scope-toolbar select { width: 100%; max-width: 100%; }
    .pnl-scope-toolbar > .meta { flex: 1 1 20rem; margin: 0; line-height: 1.7; overflow-wrap: anywhere; }
    .pnl-period-toolbar {
      display: flex;
      flex-wrap: wrap;
      align-items: flex-end;
      gap: 0.7rem;
      margin: 0 0 0.85rem;
      padding: 0.85rem;
      border: 1px solid var(--border);
      border-radius: 8px;
      background: var(--panel);
    }
    .pnl-period-toolbar .ops-field { flex: 1 1 11rem; min-width: 0; }
    .pnl-period-toolbar select, .pnl-period-toolbar input { width: 100%; max-width: 100%; }
    .pnl-period-note { flex-basis: 100%; margin: 0.1rem 0 0; line-height: 1.6; }
    .pnl-period-coverage { line-height: 1.75; overflow-wrap: anywhere; }
    .pnl-period-empty { border: 1px dashed var(--border); border-radius: 8px; }
    .pnl-metrics {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 0.65rem;
      margin: 0.9rem 0 1.3rem;
    }
    .pnl-metric {
      display: flex;
      flex-direction: column;
      gap: 0.45rem;
      min-width: 0;
      padding: 0.85rem;
      background: var(--card);
      border: 1px solid var(--border);
      border-radius: 8px;
    }
    .pnl-metric > span { font-size: 0.76rem; color: var(--muted); }
    .pnl-metric > strong { font-size: clamp(1.2rem, 2.3vw, 1.65rem); font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
    .pnl-metric small { font-size: 0.7rem; color: var(--muted); line-height: 1.5; }
    .pnl-positive { color: var(--ok); }
    .pnl-negative { color: var(--err); }
    .pnl-quality, .pnl-details {
      border: 1px solid var(--border);
      border-radius: 8px;
      padding: 0.65rem 0.8rem;
      margin: 0.8rem 0;
      background: var(--panel);
      font-size: 0.78rem;
      line-height: 1.65;
    }
    .pnl-quality summary, .pnl-details summary { cursor: pointer; }
    .pnl-diagnostics, .pnl-assumptions { padding-left: 1.2rem; margin: 0.5rem 0; }
    .pnl-diagnostics li, .pnl-assumptions li { margin: 0.25rem 0; overflow-wrap: anywhere; }
    .pnl-assumptions { color: var(--muted); }
    .pnl-view-tabs { display: flex; gap: 0.35rem; flex-wrap: wrap; border-bottom: 1px solid var(--border); padding: 0.35rem 0 0.6rem; margin: 1rem 0; }
    .v2-app .pnl-view-tab { background: transparent; border: 1px solid transparent; padding: 0.55rem 0.8rem; color: var(--muted); border-radius: 6px; cursor: pointer; }
    .v2-app .pnl-view-tab:hover, .v2-app .pnl-view-tab.active { background: var(--active-bg); color: var(--text); border-color: var(--border); }
    .pnl-view-tab:focus-visible, .pnl-table-wrap:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
    .pnl-table-wrap { margin: 0.6rem 0 1.3rem; max-height: min(65vh, 640px); overflow: auto; }
    .pnl-table-wrap > .table-wrap { overflow: visible; }
    .pnl-table-wrap table { margin: 0; }
    .pnl-table-wrap thead th { position: sticky; top: 0; z-index: 1; background: var(--panel); }
    .pnl-empty { padding: 1.8rem 0.6rem; text-align: center; }
    .pnl-empty > .meta { max-width: 38rem; margin: 0.7rem auto 1rem; line-height: 1.7; }
    .pnl-explanation { font-size: 0.79rem; color: var(--muted); line-height: 1.75; }
    .pnl-warning { color: var(--warn); border-left: 3px solid var(--warn); padding: 0.6rem 0.8rem; background: var(--panel); font-size: 0.8rem; }
    .pnl-job { display: flex; flex-direction: column; gap: 0.4rem; padding: 0.8rem; margin: 0.8rem 0; border: 1px solid var(--border); border-radius: 8px; font-size: 0.78rem; overflow-wrap: anywhere; }
    .pnl-job.running { border-color: var(--accent); }
    .pnl-job > small { color: var(--muted); }
    .pnl-grid-controls { display: flex; align-items: flex-end; flex-wrap: wrap; gap: 0.7rem; margin-bottom: 0.9rem; }
    .pnl-grid-controls .ops-field { min-width: 10rem; }
    .pnl-grid-controls input { color-scheme: inherit; }
    .pnl-nav-figure { margin: 1rem 0 1.4rem; }
    .pnl-nav-chart { width: 100%; min-height: 180px; display: block; background: var(--panel); border: 1px solid var(--border); border-radius: 8px; }
    .pnl-nav-chart text { fill: var(--muted); font: 12px system-ui, sans-serif; }
    .pnl-chart-grid { stroke: var(--border); stroke-width: 1; }
    .pnl-nav-line { fill: none; stroke: var(--accent); stroke-width: 2.5; stroke-linejoin: round; stroke-linecap: round; }
    .pnl-nav-figure figcaption { margin-top: 0.5rem; }
    .pnl-snapshot-meta { line-height: 1.7; overflow-wrap: anywhere; }
    .pnl-verification-status { font-weight: 650; }
    @media (max-width: 760px) {
      .pnl-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
      .pnl-grid-controls .ops-field { flex: 1 1 100%; }
      .pnl-scope-toolbar .ops-field { flex: 1 1 100%; }
      .pnl-period-toolbar .ops-field { flex: 1 1 100%; }
      .pnl-period-toolbar > button { flex: 1 1 auto; }
      .pnl-grid-controls input, .pnl-grid-controls select { width: 100%; max-width: 100%; }
      .pnl-view-tab { flex: 1 0 auto; }
    }
    @media (max-width: 420px) {
      .pnl-metrics { grid-template-columns: minmax(0, 1fr); }
    }

    :root,
    [data-theme="dark"] {
      --bg: #0f1419;
      --panel: #151c27;
      --card: #1a2332;
      --border: #2d3a4d;
      --text: #e7ecf3;
      --muted: #8b9cb3;
      --accent: #3d8bfd;
      --ok: #3dd68c;
      --err: #f07178;
      --warn: #e6c84a;
      --btn-primary-fg: #fff;
      --hover-bg: rgba(61, 139, 253, 0.08);
      --active-bg: rgba(61, 139, 253, 0.15);
      --menu-hover-bg: rgba(61, 139, 253, 0.12);
      --danger-hover-bg: rgba(240, 113, 120, 0.12);
      --err-bg-soft: rgba(240, 113, 120, 0.08);
      --overlay: rgba(0, 0, 0, 0.55);
      --shadow-md: 0 4px 20px rgba(0, 0, 0, 0.35);
      --shadow-lg: 0 8px 24px rgba(0, 0, 0, 0.5);
      --shadow-drawer: -8px 0 24px rgba(0, 0, 0, 0.35);
      --shadow-modal: 0 12px 40px rgba(0, 0, 0, 0.45);
      --focus-ring: 0 0 0 1px rgba(61, 139, 253, 0.3);
      --row-buy-bg: rgba(61, 214, 140, 0.14);
      --row-buy-bg-hover: rgba(61, 214, 140, 0.22);
      --row-buy-border: rgba(61, 214, 140, 0.2);
      --row-sell-bg: rgba(230, 200, 74, 0.12);
      --row-sell-bg-hover: rgba(230, 200, 74, 0.2);
      --row-sell-border: rgba(230, 200, 74, 0.28);
      --chip-bg: rgba(255, 255, 255, 0.03);
      --ok-border: rgba(61, 214, 140, 0.35);
      --accent-border: rgba(61, 139, 253, 0.35);
      --alert-border: rgba(240, 113, 120, 0.55);
      --alert-shadow: 0 0 0 1px rgba(240, 113, 120, 0.2);
      --warn-border: rgba(184, 134, 11, 0.4);
      --danger-border: rgba(198, 40, 40, 0.35);
      --ok-border-soft: rgba(46, 125, 50, 0.35);
      --accent-bg-soft: rgba(61, 139, 253, 0.06);
      --sidebar-w: 240px;
    }
    [data-theme="light"] {
      --bg: #f4f6f9;
      --panel: #ffffff;
      --card: #ffffff;
      --border: #d5dde8;
      --text: #1a2332;
      --muted: #5c6b80;
      --accent: #2563eb;
      --ok: #15803d;
      --err: #dc2626;
      --warn: #b45309;
      --btn-primary-fg: #ffffff;
      --hover-bg: rgba(37, 99, 235, 0.08);
      --active-bg: rgba(37, 99, 235, 0.14);
      --menu-hover-bg: rgba(37, 99, 235, 0.1);
      --danger-hover-bg: rgba(220, 38, 38, 0.1);
      --err-bg-soft: rgba(220, 38, 38, 0.08);
      --overlay: rgba(15, 23, 42, 0.35);
      --shadow-md: 0 4px 16px rgba(15, 23, 42, 0.08);
      --shadow-lg: 0 8px 24px rgba(15, 23, 42, 0.12);
      --shadow-drawer: -8px 0 24px rgba(15, 23, 42, 0.1);
      --shadow-modal: 0 12px 40px rgba(15, 23, 42, 0.14);
      --focus-ring: 0 0 0 2px rgba(37, 99, 235, 0.25);
      --row-buy-bg: rgba(21, 128, 61, 0.1);
      --row-buy-bg-hover: rgba(21, 128, 61, 0.16);
      --row-buy-border: rgba(21, 128, 61, 0.22);
      --row-sell-bg: rgba(180, 83, 9, 0.1);
      --row-sell-bg-hover: rgba(180, 83, 9, 0.16);
      --row-sell-border: rgba(180, 83, 9, 0.24);
      --chip-bg: rgba(15, 23, 42, 0.04);
      --ok-border: rgba(21, 128, 61, 0.35);
      --accent-border: rgba(37, 99, 235, 0.35);
      --alert-border: rgba(220, 38, 38, 0.45);
      --alert-shadow: 0 0 0 1px rgba(220, 38, 38, 0.15);
      --warn-border: rgba(180, 83, 9, 0.35);
      --danger-border: rgba(220, 38, 38, 0.35);
      --ok-border-soft: rgba(21, 128, 61, 0.35);
      --accent-bg-soft: rgba(37, 99, 235, 0.06);
    }
    [data-theme="paper"] {
      --bg: #f7f3ea;
      --panel: #fffdf8;
      --card: #fffdf8;
      --border: #ddd4c4;
      --text: #3d3428;
      --muted: #7a6f5f;
      --accent: #b45309;
      --ok: #2f6b3a;
      --err: #b42318;
      --warn: #a16207;
      --btn-primary-fg: #fffdf8;
      --hover-bg: rgba(180, 83, 9, 0.08);
      --active-bg: rgba(180, 83, 9, 0.14);
      --menu-hover-bg: rgba(180, 83, 9, 0.1);
      --danger-hover-bg: rgba(180, 35, 24, 0.1);
      --err-bg-soft: rgba(180, 35, 24, 0.08);
      --overlay: rgba(61, 52, 40, 0.32);
      --shadow-md: 0 4px 16px rgba(61, 52, 40, 0.08);
      --shadow-lg: 0 8px 24px rgba(61, 52, 40, 0.12);
      --shadow-drawer: -8px 0 24px rgba(61, 52, 40, 0.1);
      --shadow-modal: 0 12px 40px rgba(61, 52, 40, 0.14);
      --focus-ring: 0 0 0 2px rgba(180, 83, 9, 0.22);
      --row-buy-bg: rgba(47, 107, 58, 0.1);
      --row-buy-bg-hover: rgba(47, 107, 58, 0.16);
      --row-buy-border: rgba(47, 107, 58, 0.2);
      --row-sell-bg: rgba(161, 98, 7, 0.1);
      --row-sell-bg-hover: rgba(161, 98, 7, 0.16);
      --row-sell-border: rgba(161, 98, 7, 0.22);
      --chip-bg: rgba(61, 52, 40, 0.05);
      --ok-border: rgba(47, 107, 58, 0.35);
      --accent-border: rgba(180, 83, 9, 0.35);
      --alert-border: rgba(180, 35, 24, 0.45);
      --alert-shadow: 0 0 0 1px rgba(180, 35, 24, 0.15);
      --warn-border: rgba(161, 98, 7, 0.35);
      --danger-border: rgba(180, 35, 24, 0.35);
      --ok-border-soft: rgba(47, 107, 58, 0.35);
      --accent-bg-soft: rgba(180, 83, 9, 0.06);
    }
    [data-theme="slate"] {
      --bg: #e8edf3;
      --panel: #f1f5f9;
      --card: #ffffff;
      --border: #c5d0de;
      --text: #0f172a;
      --muted: #64748b;
      --accent: #0ea5e9;
      --ok: #059669;
      --err: #e11d48;
      --warn: #d97706;
      --btn-primary-fg: #ffffff;
      --hover-bg: rgba(14, 165, 233, 0.1);
      --active-bg: rgba(14, 165, 233, 0.16);
      --menu-hover-bg: rgba(14, 165, 233, 0.12);
      --danger-hover-bg: rgba(225, 29, 72, 0.1);
      --err-bg-soft: rgba(225, 29, 72, 0.08);
      --overlay: rgba(15, 23, 42, 0.38);
      --shadow-md: 0 4px 16px rgba(15, 23, 42, 0.09);
      --shadow-lg: 0 8px 24px rgba(15, 23, 42, 0.13);
      --shadow-drawer: -8px 0 24px rgba(15, 23, 42, 0.11);
      --shadow-modal: 0 12px 40px rgba(15, 23, 42, 0.15);
      --focus-ring: 0 0 0 2px rgba(14, 165, 233, 0.25);
      --row-buy-bg: rgba(5, 150, 105, 0.1);
      --row-buy-bg-hover: rgba(5, 150, 105, 0.16);
      --row-buy-border: rgba(5, 150, 105, 0.22);
      --row-sell-bg: rgba(217, 119, 6, 0.1);
      --row-sell-bg-hover: rgba(217, 119, 6, 0.16);
      --row-sell-border: rgba(217, 119, 6, 0.24);
      --chip-bg: rgba(15, 23, 42, 0.04);
      --ok-border: rgba(5, 150, 105, 0.35);
      --accent-border: rgba(14, 165, 233, 0.35);
      --alert-border: rgba(225, 29, 72, 0.45);
      --alert-shadow: 0 0 0 1px rgba(225, 29, 72, 0.15);
      --warn-border: rgba(217, 119, 6, 0.35);
      --danger-border: rgba(225, 29, 72, 0.35);
      --ok-border-soft: rgba(5, 150, 105, 0.35);
      --accent-bg-soft: rgba(14, 165, 233, 0.08);
    }
    [data-theme="ocean"] {
      --bg: #0a1628;
      --panel: #0f2137;
      --card: #132a45;
      --border: #1e3a5f;
      --text: #e2eef8;
      --muted: #8ba3bc;
      --accent: #38bdf8;
      --ok: #4ade80;
      --err: #fb7185;
      --warn: #fbbf24;
      --btn-primary-fg: #082032;
      --hover-bg: rgba(56, 189, 248, 0.1);
      --active-bg: rgba(56, 189, 248, 0.18);
      --menu-hover-bg: rgba(56, 189, 248, 0.14);
      --danger-hover-bg: rgba(251, 113, 133, 0.14);
      --err-bg-soft: rgba(251, 113, 133, 0.1);
      --overlay: rgba(2, 8, 23, 0.62);
      --shadow-md: 0 4px 20px rgba(2, 8, 23, 0.45);
      --shadow-lg: 0 8px 28px rgba(2, 8, 23, 0.55);
      --shadow-drawer: -8px 0 28px rgba(2, 8, 23, 0.5);
      --shadow-modal: 0 12px 44px rgba(2, 8, 23, 0.58);
      --focus-ring: 0 0 0 1px rgba(56, 189, 248, 0.35);
      --row-buy-bg: rgba(74, 222, 128, 0.12);
      --row-buy-bg-hover: rgba(74, 222, 128, 0.2);
      --row-buy-border: rgba(74, 222, 128, 0.22);
      --row-sell-bg: rgba(251, 191, 36, 0.12);
      --row-sell-bg-hover: rgba(251, 191, 36, 0.2);
      --row-sell-border: rgba(251, 191, 36, 0.28);
      --chip-bg: rgba(255, 255, 255, 0.04);
      --ok-border: rgba(74, 222, 128, 0.35);
      --accent-border: rgba(56, 189, 248, 0.35);
      --alert-border: rgba(251, 113, 133, 0.55);
      --alert-shadow: 0 0 0 1px rgba(251, 113, 133, 0.22);
      --warn-border: rgba(251, 191, 36, 0.4);
      --danger-border: rgba(251, 113, 133, 0.35);
      --ok-border-soft: rgba(74, 222, 128, 0.35);
      --accent-bg-soft: rgba(56, 189, 248, 0.08);
    }
    * { box-sizing: border-box; }
    /* 数字框去掉加减按钮，避免误点/滚轮改值 */
    input[type="number"]::-webkit-outer-spin-button,
    input[type="number"]::-webkit-inner-spin-button {
      -webkit-appearance: none;
      margin: 0;
    }
    input[type="number"] {
      -moz-appearance: textfield;
      appearance: textfield;
    }
    body {
      margin: 0;
      font-family: "SF Pro Text", "PingFang SC", system-ui, sans-serif;
      background: var(--bg);
      color: var(--text);
      line-height: 1.5;
      height: 100vh;
      display: flex;
      flex-direction: column;
    }
    header {
      padding: 0.75rem 1rem;
      border-bottom: 1px solid var(--border);
      display: flex;
      align-items: center;
      justify-content: space-between;
      flex-shrink: 0;
      background: var(--panel);
    }
    .header-actions {
      display: flex;
      align-items: center;
      gap: 0.65rem;
      flex-wrap: wrap;
      justify-content: flex-end;
    }
    .theme-switch {
      display: inline-flex;
      align-items: center;
      gap: 0.35rem;
      font-size: 0.8rem;
      color: var(--muted);
    }
    .theme-select {
      min-height: 34px;
      padding: 0.28rem 0.45rem;
      border-radius: 6px;
      border: 1px solid var(--border);
      background: var(--card);
      color: var(--text);
      font-size: 0.78rem;
      cursor: pointer;
    }
    .theme-select:focus {
      outline: none;
      border-color: var(--accent);
      box-shadow: var(--focus-ring);
    }
    h1 { margin: 0; font-size: 1.1rem; font-weight: 600; }
    .meta { color: var(--muted); font-size: 0.82rem; }
    .meta.warn-text { color: var(--warn); }
    .btn-group-inline { display: inline-flex; gap: 0.25rem; align-items: center; }
    button {
      background: var(--accent);
      color: var(--btn-primary-fg);
      border: none;
      padding: 0.45rem 0.85rem;
      border-radius: 6px;
      cursor: pointer;
      font-size: 0.8rem;
    }
    button:disabled { opacity: 0.5; cursor: not-allowed; }
    button.btn-ghost {
      background: transparent;
      color: var(--muted);
      border: 1px solid var(--border);
    }
    button.btn-ghost:hover:not(:disabled) { color: var(--text); border-color: var(--accent); }
    .ui-icon,
    .rail-icon {
      display: block;
      width: 1.05rem;
      height: 1.05rem;
      flex: 0 0 auto;
      pointer-events: none;
    }
    .rail-glyph .rail-icon {
      width: 1.1rem;
      height: 1.1rem;
    }
    .shell {
      flex: 1;
      display: flex;
      min-height: 0;
    }
    .workbar-scrim { display: none; }
    .sidebar {
      width: var(--sidebar-w);
      border-right: 1px solid var(--border);
      background: var(--panel);
      overflow-y: auto;
      flex-shrink: 0;
    }
    .sidebar h2 {
      margin: 0;
      padding: 0.75rem 1rem;
      font-size: 0.75rem;
      text-transform: uppercase;
      letter-spacing: 0.06em;
      color: var(--muted);
      font-weight: 500;
    }
    .sidebar-empty {
      display: grid;
      justify-items: start;
      gap: 0.35rem;
      margin: 0.5rem 0.65rem;
      padding: 0.85rem;
      border: 1px dashed var(--border);
      border-radius: 10px;
      background: color-mix(in srgb, var(--accent) 3%, var(--card));
      color: var(--muted);
      font-size: 0.76rem;
      line-height: 1.5;
    }
    .sidebar-empty strong {
      color: var(--text);
      font-size: 0.82rem;
    }
    .sidebar-empty-mark {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 1.8rem;
      height: 1.8rem;
      border-radius: 8px;
      background: var(--accent-bg-soft);
      color: var(--accent);
      font-weight: 700;
    }
    .sidebar-empty-mark .ui-icon { width: 1rem; height: 1rem; }
    .acc-item {
      display: block;
      flex: 1;
      min-width: 0;
      text-align: left;
      padding: 0.6rem 0.85rem;
      border: none;
      border-bottom: none;
      background: transparent;
      color: var(--text);
      cursor: pointer;
      border-radius: 0;
    }
    .acc-item-row {
      display: flex;
      align-items: stretch;
      border-bottom: 1px solid var(--border);
    }
    .acc-item-row:hover { background: var(--hover-bg); }
    .acc-item-row.active {
      background: var(--active-bg);
      border-left: 3px solid var(--accent);
    }
    .acc-item-row.active .acc-item {
      padding-left: calc(0.85rem - 3px);
    }
    .acc-vault-edit {
      flex-shrink: 0;
      align-self: center;
      margin-right: 0.35rem;
      padding: 0.15rem 0.4rem;
      font-size: 0.72rem;
      opacity: 0.75;
    }
    .acc-item-row:hover .acc-vault-edit,
    .acc-item-row.active .acc-vault-edit { opacity: 1; }
    .acc-item .acc-line {
      display: grid;
      gap: 0.18rem;
      min-width: 0;
      line-height: 1.25;
    }
    .acc-item .acc-identity,
    .acc-item .acc-metrics {
      display: flex;
      align-items: center;
      gap: 0.35rem;
      min-width: 0;
    }
    .acc-item .acc-metrics {
      min-height: 1rem;
      flex-wrap: wrap;
    }
    .acc-item .acc-alias {
      font-size: 0.82rem;
      font-weight: 600;
      color: var(--accent);
      flex: 1 1 auto;
      min-width: 0;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }
    .acc-item .acc-vault {
      flex: 1 1 auto;
      min-width: 0;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
      font-size: 0.72rem;
      color: var(--muted);
    }
    .acc-item .acc-alias + .acc-vault {
      flex: 0 1 42%;
    }
    .sidebar-global {
      border-top: 1px solid var(--border);
      margin-top: 0.25rem;
      padding-top: 0.25rem;
    }
    .acc-item.global-nav {
      font-weight: 600;
      width: 100%;
      border-bottom: 1px solid var(--border);
    }
    .acc-item.global-nav:hover { background: var(--hover-bg); }
    .acc-item.global-nav.active {
      background: var(--active-bg);
      border-left: 3px solid var(--accent);
      padding-left: calc(0.85rem - 3px);
    }
    .breakout-global-head {
      display: flex;
      flex-wrap: wrap;
      align-items: flex-end;
      gap: 0.75rem 1rem;
      margin-bottom: 0.75rem;
    }
    .breakout-acc-card {
      border: 1px solid var(--border);
      border-radius: 8px;
      padding: 0.65rem 0.85rem;
      margin-bottom: 0.65rem;
      background: var(--card);
    }
    .breakout-acc-head {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 0.5rem 0.75rem;
      margin-bottom: 0.45rem;
    }
    .breakout-acc-head strong { font-size: 0.9rem; }
    .brk-sym-table table { font-size: 0.78rem; }
    .brk-sym-table th {
      color: var(--muted);
      font-weight: 500;
      font-size: 0.72rem;
    }
    .brk-sym-table td {
      vertical-align: middle;
    }
    .brk-sym-table input.brk-min,
    .brk-sym-table input.brk-max,
    #breakout-global-wrap table input.brk-min,
    #breakout-global-wrap table input.brk-max {
      width: 100%;
      min-width: 0;
      box-sizing: border-box;
      padding: 0.32rem 0.5rem;
      border: 1px solid var(--border);
      border-radius: 6px;
      background: var(--bg);
      color: var(--text);
      font-size: 0.8rem;
      font-variant-numeric: tabular-nums;
      -webkit-appearance: none;
      appearance: none;
    }
    .brk-sym-table input.brk-min::placeholder,
    .brk-sym-table input.brk-max::placeholder {
      color: var(--muted);
      opacity: 0.75;
    }
    .brk-sym-table input.brk-min:hover,
    .brk-sym-table input.brk-max:hover {
      border-color: color-mix(in srgb, var(--accent) 35%, var(--border));
    }
    .brk-sym-table input.brk-min:focus,
    .brk-sym-table input.brk-max:focus {
      outline: none;
      border-color: var(--accent);
      box-shadow: var(--focus-ring);
      background: var(--card);
    }
    [data-theme="dark"] .brk-sym-table input.brk-min,
    [data-theme="dark"] .brk-sym-table input.brk-max,
    [data-theme="ocean"] .brk-sym-table input.brk-min,
    [data-theme="ocean"] .brk-sym-table input.brk-max {
      color-scheme: dark;
    }
    .breakout-deploy-card {
      border: 1px solid var(--border);
      border-radius: 8px;
      padding: 0.75rem 0.85rem;
      margin: 0.85rem 0 1rem;
      background: var(--panel);
    }
    .breakout-deploy-card h3 {
      margin: 0 0 0.45rem;
      font-size: 0.95rem;
    }
    .brk-deploy-log {
      background: var(--card);
      border: 1px solid var(--border);
      border-radius: 6px;
      padding: 0.55rem 0.65rem;
      font-family: ui-monospace, Menlo, monospace;
      font-size: 0.72rem;
      line-height: 1.45;
      max-height: 12rem;
      overflow: auto;
      white-space: pre-wrap;
      margin: 0.5rem 0;
    }
    tr.brk-pm2-target td:first-child { color: var(--accent); }
    .err-inline { color: var(--err); }
    .mcap-global-head {
      display: flex;
      flex-wrap: wrap;
      align-items: flex-end;
      gap: 0.75rem 1rem;
      margin-bottom: 0.75rem;
    }
    .mcap-symbol-card {
      border: 1px solid var(--border);
      border-radius: 8px;
      padding: 0.55rem 0.75rem;
      margin-bottom: 0.55rem;
      background: var(--card);
    }
    .mcap-symbol-card.mcap-alert {
      border-color: var(--alert-border);
      box-shadow: var(--alert-shadow);
    }
    .mcap-symbol-head {
      display: flex;
      flex-wrap: wrap;
      align-items: baseline;
      gap: 0.5rem 0.85rem;
      margin-bottom: 0.4rem;
      font-size: 0.85rem;
    }
    .mcap-symbol-head strong { font-size: 0.95rem; }
    tr.mcap-row-alert td { color: var(--err); }
    tr.mcap-row-alert td:first-child { font-weight: 600; }
    .mcap-progress-log {
      margin: 0;
      padding: 0.55rem 0.65rem;
      font-size: 0.75rem;
      color: var(--muted);
      white-space: pre-wrap;
      font-family: ui-monospace, Menlo, monospace;
      max-height: 200px;
      overflow: auto;
      background: var(--panel);
      border: none;
      border-radius: 0 0 6px 6px;
    }
    .progress-log-box {
      margin: 0.5rem 0;
      border: 1px solid var(--border);
      border-radius: 6px;
      background: var(--panel);
    }
    .progress-log-box.collapsed .mcap-progress-log { display: none; }
    .progress-log-head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 0.5rem;
      padding: 0.35rem 0.55rem;
      border-bottom: 1px solid var(--border);
    }
    .progress-log-box.collapsed .progress-log-head { border-bottom: none; }
    .market-data-head {
      display: grid;
      grid-template-columns: minmax(18rem, 1fr) minmax(22rem, 1.15fr) auto;
      align-items: stretch;
      gap: 0.75rem;
      margin-bottom: 0.75rem;
    }
    .market-control-group {
      min-inline-size: 0;
      margin: 0;
      padding: 0.55rem 0.65rem 0.65rem;
      border: 1px solid var(--border);
      border-radius: 9px;
      background: color-mix(in srgb, var(--card) 94%, var(--accent));
    }
    .market-control-group legend,
    .market-control-title {
      padding: 0 0.25rem;
      color: var(--muted);
      font-size: 0.7rem;
      font-weight: 650;
      letter-spacing: 0.04em;
    }
    .market-control-fields {
      display: flex;
      flex-wrap: wrap;
      align-items: flex-end;
      gap: 0.55rem;
    }
    .market-data-head [hidden] { display: none !important; }
    .market-control-fields .ops-field {
      flex: 1 1 8rem;
      min-width: 0;
    }
    .market-control-fields .ops-field input,
    .market-control-fields .ops-field select {
      width: 100%;
      max-width: none;
      box-sizing: border-box;
    }
    .market-control-actions {
      display: flex;
      flex-wrap: wrap;
      align-content: center;
      align-items: center;
      gap: 0.5rem;
      min-width: 10rem;
      padding: 0.65rem;
      border: 1px solid var(--border);
      border-radius: 9px;
      background: var(--card);
    }
    .market-control-actions .market-control-title {
      flex-basis: 100%;
      padding: 0;
    }
    .market-control-actions button { flex: 1 1 auto; white-space: nowrap; }
    @media (max-width: 1180px) {
      .market-data-head { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
      .market-control-actions { grid-column: 1 / -1; }
    }
    .market-data-table-wrap {
      max-height: min(70vh, 720px);
      overflow: auto;
      border: 1px solid var(--border);
      border-radius: 8px;
      box-shadow: inset -14px 0 16px -18px color-mix(in srgb, var(--text) 38%, transparent);
    }
    .market-data-table-wrap:focus-visible {
      outline: 2px solid var(--accent);
      outline-offset: 2px;
    }
    .market-data-table-wrap table { margin: 0; }
    .scan-table-wrap > .table-wrap { overflow: visible; }
    .table-scroll-cue {
      display: none;
      margin: 0 0 0.4rem;
      color: var(--muted);
      font-size: 0.72rem;
      text-align: right;
    }
    .panel-state {
      display: grid;
      justify-items: center;
      gap: 0.35rem;
      min-height: 12rem;
      padding: 2rem 1rem;
      border: 1px dashed var(--border);
      border-radius: 10px;
      background: color-mix(in srgb, var(--accent) 3%, var(--card));
      color: var(--muted);
      text-align: center;
    }
    .panel-state strong { color: var(--text); font-size: 0.9rem; }
    .panel-state span { max-width: 28rem; font-size: 0.8rem; }
    .panel-state button { margin-top: 0.35rem; }
    .scan-table {
      min-width: 900px;
      font-size: 0.82rem;
      --scan-row-bg: var(--card);
    }
    .scan-table thead th {
      position: sticky;
      top: 0;
      z-index: 3;
      white-space: nowrap;
      background: var(--card);
      box-shadow: 0 1px 0 var(--border);
    }
    .scan-table tbody tr { --scan-row-bg: var(--card); }
    .scan-table tbody tr:nth-child(even) {
      --scan-row-bg: color-mix(in srgb, var(--text) 2.5%, var(--card));
    }
    .scan-table tbody tr:hover { --scan-row-bg: var(--hover-bg); }
    .scan-table tbody td { background: var(--scan-row-bg); }
    .scan-table th:first-child,
    .scan-table td:first-child {
      position: sticky;
      left: 0;
      z-index: 2;
      background: var(--scan-row-bg, var(--card));
      box-shadow: 1px 0 0 var(--border);
    }
    .scan-table thead th:first-child {
      z-index: 4;
      background: var(--card);
    }
    @media (max-width: 720px) {
      .market-data-head { grid-template-columns: minmax(0, 1fr); }
      .market-control-actions { grid-column: auto; }
      .market-control-fields .ops-field { flex: 1 1 calc(50% - 0.3rem); }
      .market-data-head .ops-field input,
      .market-data-head .ops-field select,
      .market-data-head button {
        min-height: 44px;
        font-size: 16px;
      }
      .market-control-actions button:first-of-type { flex-basis: 100%; }
      .table-scroll-cue { display: block; }
      .scan-table { min-width: 720px; font-size: 0.78rem; }
      .scan-table.scan-table-kr { min-width: 610px; }
      .scan-table th,
      .scan-table td { padding: 0.38rem 0.42rem; }
      .scan-table .mdata-col-secondary { display: none; }
    }
    .alpha-depth-summary-grid {
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(11rem, 1fr));
      gap: 0.5rem 1rem;
      margin: 0.5rem 0 1rem;
      padding: 0.65rem 0.75rem;
      border: 1px solid var(--border);
      border-radius: 8px;
      background: var(--card);
    }
    .alpha-depth-summary-grid .meta { display: block; font-size: 0.78rem; margin-bottom: 0.15rem; }
    .alpha-depth-tables {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 1rem;
      margin-top: 0.75rem;
    }
    @media (max-width: 900px) {
      .alpha-depth-tables { grid-template-columns: 1fr; }
    }
    .alpha-depth-side.bid h3 { color: var(--ok, #3fb950); }
    .alpha-depth-side.ask h3 { color: var(--danger, #f85149); }
    .alpha-depth-chart-block { margin: 0.75rem 0 0.5rem; }
    .alpha-depth-chart-note { margin: 0 0 0.5rem; font-size: 0.82rem; line-height: 1.45; }
    .alpha-depth-chart {
      width: 100%;
      min-height: 200px;
      padding-bottom: 0.35rem;
    }
    .alpha-depth-table-wrap { overflow-x: auto; }
    .alpha-depth-side .alpha-depth-table {
      table-layout: fixed;
      width: 100%;
      font-size: 0.78rem;
    }
    .alpha-depth-side .alpha-depth-table th,
    .alpha-depth-side .alpha-depth-table td {
      padding: 0.32rem 0.45rem;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }
    .alpha-depth-side .alpha-depth-table .col-lv {
      width: 2.25rem;
      text-align: center;
      color: var(--muted);
      font-variant-numeric: tabular-nums;
    }
    .alpha-depth-side .alpha-depth-table th.col-lv { text-align: center; }
    .alpha-depth-side .alpha-depth-table th.num,
    .alpha-depth-side .alpha-depth-table td.num {
      text-align: right;
      font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;
      font-variant-numeric: tabular-nums;
      font-feature-settings: "tnum" 1;
    }
    .alpha-depth-side .alpha-depth-table col.col-px { width: 30%; }
    .alpha-depth-side .alpha-depth-table col.col-qty { width: 22%; }
    .alpha-depth-side .alpha-depth-table col.col-nom,
    .alpha-depth-side .alpha-depth-table col.col-cum { width: 18%; }
    .alpha-depth-side .alpha-depth-table col.col-bps { width: 14%; }
    .alpha-depth-side .alpha-depth-table col.col-lv { width: 2.25rem; }
    .grid-ob-summary-grid .grid-ob-acc-list {
      display: block;
      font-size: 0.82rem;
      word-break: break-all;
      max-height: 3.2rem;
      overflow: auto;
    }
    .grid-ob-summary-grid .grid-ob-range-block {
      grid-column: 1 / -1;
      display: flex;
      flex-direction: column;
      gap: 0.45rem;
      padding: 0.55rem 0.65rem;
      border: 1px solid var(--border);
      border-radius: 6px;
      background: color-mix(in srgb, var(--accent) 4%, var(--card));
    }
    .grid-ob-range-line {
      display: flex;
      flex-wrap: wrap;
      align-items: baseline;
      gap: 0.35rem 0.75rem;
      font-size: 0.92rem;
    }
    .grid-ob-range-line > .meta {
      margin-bottom: 0;
      min-width: 9rem;
      font-weight: 600;
      color: var(--text);
    }
    .grid-ob-range-head { min-width: 14rem; }
    .grid-ob-range-move {
      font-weight: 600;
      color: var(--accent);
      white-space: nowrap;
    }
    .grid-ob-range-stats strong { color: var(--accent); }
    .grid-ob-range-depth { margin-left: 0.15rem; }
    .grid-ob-range-foot {
      grid-column: 1 / -1;
      font-size: 0.78rem;
      margin-top: -0.25rem;
    }
    .grid-ob-pos-block {
      grid-column: 1 / -1;
      margin-top: 0.35rem;
      padding: 0.55rem 0.65rem;
      border: 1px solid var(--border);
      border-radius: 6px;
      background: var(--card);
    }
    .grid-ob-pos-title { margin-bottom: 0.4rem; }
    .grid-ob-pos-table { width: 100%; max-width: 52rem; }
    .grid-ob-pos-range { font-variant-numeric: tabular-nums; white-space: nowrap; }
    .grid-ob-pos-range-col { text-align: left; }
    tr.grid-ob-pos-total td {
      border-top: 1px solid var(--border);
      font-weight: 600;
    }
    .vol-acc-list {
      display: block;
      font-size: 0.82rem;
      max-width: 12rem;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }
    .volatility-wrap .vol-acc-col,
    #vol-table-mount .vol-acc-col { max-width: 11rem; }
    .grid-ob-tables {
      display: grid;
      grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
      gap: 1rem;
      margin-top: 0.75rem;
      align-items: start;
    }
    @media (max-width: 1100px) {
      .grid-ob-tables { grid-template-columns: minmax(0, 1fr); }
    }
    .grid-ob-tables .grid-ob-side {
      min-width: 0;
    }
    .grid-ob-table-scroll {
      overflow: auto;
      max-height: min(520px, 55vh);
      -webkit-overflow-scrolling: touch;
      border: 1px solid var(--border);
      border-radius: 6px;
    }
    table.grid-ob-table {
      table-layout: fixed;
      width: 100%;
      min-width: 28rem;
      border-collapse: collapse;
      font-size: 0.82rem;
    }
    table.grid-ob-table th,
    table.grid-ob-table td {
      padding: 0.34rem 0.5rem;
      border-bottom: 1px solid var(--border);
      vertical-align: top;
    }
    table.grid-ob-table thead th {
      position: sticky;
      top: 0;
      z-index: 2;
      background: var(--card, var(--bg));
      box-shadow: 0 1px 0 var(--border);
      font-weight: 600;
      white-space: nowrap;
    }
    table.grid-ob-table .col-lv {
      width: 2.25rem;
      text-align: center;
      color: var(--muted);
    }
    table.grid-ob-table col.col-px { width: 7.5rem; }
    table.grid-ob-table col.col-mkt-u { width: 4.5rem; }
    table.grid-ob-table col.col-combo { width: 6.25rem; }
    table.grid-ob-table col.col-acc-all { width: auto; }
    table.grid-ob-table .grid-ob-combo-u { display: block; }
    table.grid-ob-table .grid-ob-combo-p {
      display: block;
      font-size: 0.76rem;
      color: var(--muted);
    }
    table.grid-ob-table .grid-ob-acc-section { margin-top: 0.2rem; }
    table.grid-ob-table .grid-ob-acc-section:first-child { margin-top: 0; }
    table.grid-ob-table .grid-ob-acc-tag {
      display: inline-block;
      margin-right: 0.25rem;
      font-size: 0.7rem;
    }
    .grid-ob-symbol-field { position: relative; }
    .grid-ob-symbol-wrap { position: relative; display: inline-block; }
    .grid-ob-symbol-drop {
      position: absolute;
      left: 0;
      right: 0;
      top: calc(100% + 2px);
      z-index: 40;
      max-height: 16rem;
      overflow: auto;
      border: 1px solid var(--border);
      border-radius: 6px;
      background: var(--card, var(--bg));
      box-shadow: 0 6px 18px rgba(0, 0, 0, 0.18);
    }
    .grid-ob-symbol-item {
      display: flex;
      align-items: baseline;
      justify-content: space-between;
      gap: 0.5rem;
      width: 100%;
      padding: 0.38rem 0.55rem;
      border: 0;
      border-bottom: 1px solid var(--border);
      background: transparent;
      color: inherit;
      font: inherit;
      text-align: left;
      cursor: pointer;
    }
    .grid-ob-symbol-item:last-child { border-bottom: 0; }
    .grid-ob-symbol-item:hover,
    .grid-ob-symbol-item:focus-visible {
      background: color-mix(in srgb, var(--accent) 12%, transparent);
    }
    .grid-ob-symbol-item-sym { font-weight: 600; font-family: ui-monospace, monospace; }
    table.grid-ob-table th.num,
    table.grid-ob-table td.num {
      text-align: right;
      font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;
      font-variant-numeric: tabular-nums;
      white-space: nowrap;
    }
    table.grid-ob-table td.col-acc {
      font-size: 0.76rem;
      line-height: 1.4;
      white-space: normal;
      word-break: break-all;
    }
    table.grid-ob-table .grid-ob-zero {
      color: var(--muted);
      text-align: center;
    }
    table.grid-ob-table .grid-ob-pct-over {
      color: var(--warn, #d29922);
      font-weight: 600;
    }
    table.grid-ob-table tr.grid-ob-row-over td.col-combo .grid-ob-combo-u {
      color: var(--warn, #d29922);
      font-weight: 600;
    }
    .grid-ob-acc-lines { line-height: 1.35; }
    .grid-ob-acc-line { white-space: nowrap; }
    .grid-ob-acc-meta { display: block; margin-bottom: 0.12rem; font-size: 0.72rem; }
    .grid-ob-fetch-actual {
      display: inline-flex;
      align-items: center;
      gap: 0.35rem;
      font-size: 0.85rem;
      white-space: nowrap;
    }
    .grid-ob-fetch-actual input { margin: 0; }
    .grid-ob-row-hot td { background: rgba(46, 160, 67, 0.1); }
    .grid-ob-outside-block,
    .grid-ob-errors-block {
      margin-top: 0.85rem;
      border: 1px solid var(--border);
      border-radius: 8px;
      padding: 0.55rem 0.65rem;
    }
    .grid-ob-outside-block h3,
    .grid-ob-errors-block h3 {
      margin: 0 0 0.45rem;
      font-size: 0.92rem;
    }
    .grid-ob-outside-block .grid-ob-table-scroll {
      max-height: min(360px, 40vh);
    }
    .grid-ob-outside-table {
      width: 100%;
      border-collapse: collapse;
      font-size: 0.82rem;
    }
    .grid-ob-outside-table th,
    .grid-ob-outside-table td {
      padding: 0.28rem 0.4rem;
      border-bottom: 1px solid var(--border);
    }
    .grid-ob-outside-table th.num,
    .grid-ob-outside-table td.num {
      text-align: right;
      font-variant-numeric: tabular-nums;
    }
    .grid-ob-errors-block ul {
      margin: 0;
      padding-left: 1.1rem;
      font-size: 0.82rem;
    }
    th.market-data-sort {
      white-space: nowrap;
    }
    th.market-data-sort.sorted { color: var(--accent); }
    .market-data-sort-button {
      display: inline-flex;
      align-items: center;
      gap: 0.18rem;
      max-width: 100%;
      margin: -0.25rem -0.2rem;
      padding: 0.25rem 0.2rem;
      border: 0;
      border-radius: 4px;
      background: transparent;
      box-shadow: none;
      color: inherit;
      font: inherit;
      white-space: nowrap;
    }
    .market-data-sort-button:hover { color: var(--accent); }
    th.market-data-sort.num .market-data-sort-button {
      width: calc(100% + 0.4rem);
      justify-content: flex-end;
    }
    th.delist-sort,
    th.delist-account-sort {
      cursor: pointer;
      user-select: none;
      white-space: nowrap;
    }
    th.delist-sort:hover,
    th.delist-account-sort:hover { color: var(--accent); }
    th.delist-sort.sorted,
    th.delist-account-sort.sorted { color: var(--accent); }
    .factor-scan-panel {
      border: 1px solid var(--border);
      border-radius: 8px;
      padding: 0.65rem 0.75rem;
      margin-bottom: 0.75rem;
      background: var(--card);
    }
    .factor-scan-row {
      display: flex;
      flex-wrap: wrap;
      align-items: flex-end;
      gap: 0.65rem 1rem;
    }
    .factor-scan-row .ops-field input,
    .factor-scan-row .ops-field select {
      min-width: 7rem;
    }
    .factor-scan-actions {
      display: flex;
      flex-wrap: wrap;
      gap: 0.45rem;
      margin-left: auto;
    }
    th.market-data-col-head {
      padding: 0;
      vertical-align: bottom;
      white-space: nowrap;
    }
    th.market-data-col-head .market-data-col-inner {
      display: flex;
      align-items: center;
      gap: 0.15rem;
      min-height: 2rem;
      padding: 0.35rem 0.45rem;
    }
    .market-data-col-sort {
      border: none;
      background: transparent;
      color: inherit;
      font: inherit;
      padding: 0;
      cursor: pointer;
      text-align: inherit;
    }
    th.num .market-data-col-sort { width: 100%; text-align: right; }
    .market-data-col-sort:hover { color: var(--accent); }
    .market-data-col-sort.sorted { color: var(--accent); }
    .market-data-col-filter {
      flex-shrink: 0;
      border: 1px solid transparent;
      border-radius: 4px;
      background: transparent;
      color: var(--muted);
      font-size: 0.72rem;
      line-height: 1;
      padding: 0.12rem 0.28rem;
      cursor: pointer;
    }
    .market-data-col-filter:hover {
      color: var(--accent);
      border-color: var(--border);
      background: var(--card);
    }
    .market-data-col-filter.filtered {
      color: var(--accent);
      border-color: var(--accent);
      background: color-mix(in srgb, var(--accent) 10%, transparent);
    }
    .market-data-col-filter-pop {
      position: fixed;
      z-index: 1200;
      min-width: 11rem;
      max-width: min(18rem, calc(100vw - 16px));
      padding: 0.55rem 0.65rem 0.6rem;
      border: 1px solid var(--border);
      border-radius: 8px;
      background: var(--panel);
      box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18);
    }
    .market-data-col-filter-title {
      font-size: 0.82rem;
      font-weight: 600;
      margin-bottom: 0.45rem;
    }
    .market-data-col-filter-body {
      display: grid;
      gap: 0.35rem;
    }
    .market-data-col-filter-body select,
    .market-data-col-filter-body input {
      width: 100%;
      padding: 0.35rem 0.45rem;
      border-radius: 6px;
      border: 1px solid var(--border);
      background: var(--card);
      color: var(--text);
      font-size: 0.82rem;
    }
    .market-data-col-filter-foot {
      display: flex;
      gap: 0.4rem;
      margin-top: 0.55rem;
      padding-top: 0.5rem;
      border-top: 1px solid var(--border);
    }
    .factor-filter-active {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 0.35rem 0.5rem;
      margin-top: 0.35rem;
    }
    .factor-filter-chip {
      display: inline-block;
      padding: 0.12rem 0.45rem;
      border-radius: 999px;
      border: 1px solid var(--accent);
      color: var(--accent);
      font-size: 0.76rem;
      background: color-mix(in srgb, var(--accent) 8%, transparent);
      cursor: pointer;
    }
    .factor-filter-chip:hover {
      background: color-mix(in srgb, var(--accent) 16%, transparent);
    }
    .acc-item .acc-pos {
      flex-shrink: 0;
      font-size: 0.72rem;
      color: var(--ok);
      font-variant-numeric: tabular-nums;
    }
    .acc-item .acc-status {
      flex: 1;
      font-size: 0.72rem;
      color: var(--muted);
    }
    .acc-item .acc-err { color: var(--err); }
    .detail {
      flex: 1;
      overflow-y: auto;
      padding: 1rem 1.25rem 2rem;
      min-width: 0;
    }
    .detail-head {
      display: flex;
      justify-content: space-between;
      align-items: flex-start;
      gap: 1rem;
      margin-bottom: 1rem;
      flex-wrap: wrap;
    }
    .detail-head h2 { margin: 0; font-size: 1.35rem; }
    .detail-symbol-filter {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 0.45rem 0.65rem;
      margin-bottom: 0.75rem;
      flex-shrink: 0;
    }
    .detail-symbol-filter label {
      font-size: 0.8rem;
      color: var(--muted);
      white-space: nowrap;
    }
    .detail-symbol-filter input[type="text"] {
      flex: 1 1 12rem;
      max-width: 22rem;
      min-width: 10rem;
      padding: 0.42rem 0.55rem;
      border-radius: 6px;
      border: 1px solid var(--border);
      background: var(--card);
      color: var(--text);
      font-size: 0.85rem;
    }
    .detail-symbol-filter input[type="text"]:focus {
      outline: none;
      border-color: var(--accent);
    }
    .detail-symbol-filter-global {
      display: inline-flex;
      align-items: center;
      gap: 0.35rem;
      font-size: 0.82rem;
      color: var(--muted);
      cursor: pointer;
      user-select: none;
    }
    .detail-global-search-mount {
      margin: 0 0 0.75rem;
    }
    .detail-global-search-panel .table-wrap {
      max-height: 280px;
      overflow: auto;
    }
    .detail-global-search-empty {
      margin: 0.25rem 0 0.75rem;
    }
    .tabs {
      display: flex;
      gap: 0.25rem;
      margin-bottom: 1rem;
      border-bottom: 1px solid var(--border);
      padding-bottom: 0;
      overflow-x: auto;
      flex-shrink: 0;
    }
    .tabs .tab { white-space: nowrap; flex-shrink: 0; }
    .tab {
      background: transparent;
      color: var(--muted);
      border: none;
      border-bottom: 2px solid transparent;
      padding: 0.5rem 0.85rem;
      margin-bottom: -1px;
      border-radius: 0;
    }
    .tab.active { color: var(--accent); border-bottom-color: var(--accent); }
    .detail-head > div:first-child {
      flex: 1 1 20rem;
      min-width: 0;
    }
    .detail-head-actions {
      display: flex;
      flex: 0 0 auto;
      flex-wrap: wrap;
      align-items: center;
      justify-content: flex-end;
      gap: 0.45rem;
    }
    .account-primary-action {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 0.38rem;
      min-height: 34px;
      border: 1px solid var(--accent);
      background: var(--accent);
      color: var(--btn-primary-fg);
      font-weight: 600;
      white-space: nowrap;
      box-shadow: var(--shadow-md);
    }
    .account-primary-action:hover:not(:disabled) {
      border-color: var(--accent);
      background: color-mix(in srgb, var(--accent) 86%, black);
    }
    .account-primary-action.active {
      border-color: var(--accent);
      background: var(--accent);
      color: var(--btn-primary-fg);
    }
    .account-section-nav {
      display: grid;
      gap: 0.45rem;
      margin: 0 0 0.9rem;
    }
    .tabs.account-primary-tabs {
      display: flex;
      width: 100%;
      max-width: none;
      margin: 0;
      padding: 0.28rem;
      gap: 0.28rem;
      overflow-x: auto;
      border: 1px solid var(--border);
      border-radius: 11px;
      background: color-mix(in srgb, var(--panel) 92%, var(--accent));
      scrollbar-width: thin;
    }
    .tabs.account-primary-tabs .tab {
      flex: 1 0 5rem;
      min-height: 38px;
      margin: 0;
      padding: 0.42rem 0.75rem;
      border: 1px solid transparent;
      border-radius: 8px;
      color: var(--muted);
      font-weight: 600;
      text-align: center;
    }
    .tabs.account-primary-tabs .tab:hover:not(:disabled) {
      background: var(--menu-hover-bg);
      color: var(--text);
    }
    .tabs.account-primary-tabs .tab.active {
      border-color: var(--accent-border);
      background: var(--card);
      color: var(--accent);
      box-shadow: var(--shadow-md);
    }
    .account-subtabs {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 0.25rem;
      min-width: 0;
      margin-bottom: 0.75rem;
      padding: 0 0.2rem;
    }
    .account-subtab {
      min-height: 32px;
      padding: 0.3rem 0.7rem;
      border: 1px solid transparent;
      border-radius: 999px;
      background: transparent;
      color: var(--muted);
      font-size: 0.76rem;
      font-weight: 600;
      white-space: nowrap;
    }
    .account-subtab:hover:not(:disabled) {
      border-color: var(--border);
      background: var(--menu-hover-bg);
      color: var(--text);
    }
    .account-subtab.active {
      border-color: var(--accent-border);
      background: var(--accent-bg-soft);
      color: var(--accent);
    }
    .account-action-stage {
      margin-bottom: 1rem;
      padding: 0.85rem;
      border: 1px solid var(--accent-border);
      border-radius: 12px;
      background: linear-gradient(180deg, var(--accent-bg-soft), var(--card) 38%);
      box-shadow: var(--shadow-md);
    }
    .account-action-stage-head {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      justify-content: space-between;
      gap: 0.55rem;
      padding-bottom: 0.65rem;
      border-bottom: 1px solid var(--border);
    }
    .account-action-stage-head strong {
      color: var(--accent);
      font-size: 0.9rem;
    }
    .account-action-stage > .block {
      margin: 0;
      padding: 0.75rem 0 0;
      border: 0;
      border-radius: 0;
      background: transparent;
      box-shadow: none;
    }
    .account-action-stage > #open-pos-panel > h3:first-child { display: none; }
    .panel { display: none; }
    .panel.active { display: block; }
    .config-subtabs {
      display: flex;
      flex-wrap: wrap;
      gap: 0;
      border-bottom: 1px solid var(--border);
      margin: 0 0 0.85rem;
    }
    .config-subtabs .tab {
      font-size: 0.78rem;
      padding: 0.4rem 0.75rem;
    }
    .config-subpanel { display: none; }
    .config-subpanel.active { display: block; }
    #config-rust-form-box.config-form-collapsed {
      display: none;
    }
    #config-rust-form-box.config-form-focus {
      border-color: var(--accent);
      box-shadow: var(--focus-ring);
    }
    #config-token-form-box.config-form-focus {
      border-color: var(--accent);
      box-shadow: var(--focus-ring);
    }
    .config-list-head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 0.5rem;
      margin: 0.85rem 0 0.4rem;
    }
    .config-list-head h4 {
      margin: 0;
      font-size: 0.78rem;
      color: var(--muted);
      font-weight: 500;
      text-transform: uppercase;
      letter-spacing: 0.04em;
    }
    .config-list-actions {
      display: flex;
      flex-wrap: wrap;
      gap: 0.35rem;
      align-items: center;
    }
    .rust-compare-summary {
      margin: 0.35rem 0 0.5rem;
      padding: 0.55rem 0.75rem;
      border: 1px solid var(--border);
      border-radius: 8px;
      background: var(--accent-bg-soft);
      font-size: 0.82rem;
      display: none;
    }
    .rust-compare-summary.visible { display: block; }
    .rust-sync-ok { color: var(--ok); }
    .rust-sync-warn { color: var(--warn); }
    .rust-sync-err { color: var(--err); }
    .rust-sync-meta { color: var(--muted); }
    .rust-diff-panel {
      margin: 0.35rem 0 0.65rem;
      padding: 0.55rem 0.75rem;
      border: 1px solid var(--border);
      border-radius: 8px;
      background: var(--panel);
      font-size: 0.8rem;
    }
    .rust-diff-panel h5 {
      margin: 0 0 0.35rem;
      font-size: 0.75rem;
      color: var(--muted);
      font-weight: 500;
    }
    .rust-diff-table {
      width: 100%;
      border-collapse: collapse;
      font-size: 0.78rem;
    }
    .rust-diff-table th,
    .rust-diff-table td {
      padding: 0.25rem 0.4rem;
      border-bottom: 1px solid var(--border);
      vertical-align: top;
    }
    .rust-diff-table th {
      color: var(--muted);
      font-weight: 500;
      text-align: left;
    }
    .rust-diff-table code {
      font-size: 0.76rem;
      word-break: break-all;
    }
    .rust-diff-val-local { color: var(--accent); }
    .rust-diff-val-remote { color: var(--warn); }
    tr.rust-diff-row-hidden { display: none; }
    .config-rust-peer-filter {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 0.45rem 0.65rem;
      margin: 0.35rem 0 0.5rem;
    }
    .config-rust-peer-filter label {
      font-size: 0.8rem;
      white-space: nowrap;
    }
    .config-rust-peer-filter select {
      min-width: 11rem;
      max-width: 20rem;
      padding: 0.38rem 0.5rem;
      border-radius: 6px;
      border: 1px solid var(--border);
      background: var(--card);
      color: var(--text);
      font-size: 0.85rem;
    }
    .config-rust-mcap-inp {
      width: 5.5rem;
      padding: 0.35rem 0.45rem;
      border-radius: 6px;
      border: 1px solid var(--border);
      background: var(--card);
      color: var(--text);
      font-size: 0.8rem;
    }
    .config-servers-table {
      width: 100%;
      margin-top: 0.5rem;
      border-collapse: collapse;
      font-size: 0.78rem;
    }
    .config-servers-table th {
      text-align: left;
      color: var(--muted);
      font-weight: 500;
      padding: 0.35rem 0.4rem;
      border-bottom: 1px solid var(--border);
    }
    .config-servers-table td {
      padding: 0.35rem 0.25rem;
      vertical-align: middle;
    }
    .config-servers-table input {
      width: 100%;
      min-width: 0;
      padding: 0.35rem 0.45rem;
      border: 1px solid var(--border);
      border-radius: 4px;
      background: var(--card);
      color: var(--text);
      font-size: 0.78rem;
    }
    .config-servers-table input.cfg-server-path {
      font-family: ui-monospace, monospace;
    }
    #config-sync-target {
      white-space: pre-wrap;
      line-height: 1.45;
    }
    .ssh-host-meta {
      font-size: 0.72rem;
      color: var(--muted);
      margin: 0.25rem 0 0.5rem;
      line-height: 1.45;
    }
    .ssh-exec-box {
      margin-top: 0.85rem;
      display: flex;
      flex-wrap: wrap;
      gap: 0.4rem 0.5rem;
      align-items: flex-end;
    }
    .ssh-cmd-input {
      flex: 1 1 18rem;
      min-width: 12rem;
      padding: 0.4rem 0.5rem;
      border: 1px solid var(--border);
      border-radius: 4px;
      background: var(--card);
      color: var(--text);
      font-size: 0.78rem;
      font-family: ui-monospace, Menlo, monospace;
    }
    .ssh-exec-log,
    .ssh-raw-list {
      margin: 0.5rem 0 0;
      padding: 0.55rem 0.65rem;
      font-size: 0.75rem;
      color: var(--muted);
      white-space: pre-wrap;
      font-family: ui-monospace, Menlo, monospace;
      max-height: 260px;
      overflow: auto;
      background: var(--panel);
      border: 1px solid var(--border);
      border-radius: 6px;
    }
    .ssh-pm2-mount { margin-top: 0.35rem; }
    .ssh-batch-gap-row {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 0.45rem 0.65rem;
      margin: 0.35rem 0 0.65rem;
    }
    .ssh-batch-gap-row label { font-size: 0.9rem; }
    .ssh-gap-input {
      width: 4.5rem;
      padding: 0.25rem 0.4rem;
      border: 1px solid var(--border);
      border-radius: 4px;
      background: var(--panel);
      color: var(--text);
    }
    .ssh-pm2-pos-badge {
      display: inline-block;
      margin-left: 0.35rem;
      padding: 0.05rem 0.35rem;
      font-size: 0.72rem;
      line-height: 1.35;
      border-radius: 4px;
      color: var(--ok);
      background: color-mix(in srgb, var(--ok) 14%, transparent);
      border: 1px solid color-mix(in srgb, var(--ok) 35%, transparent);
      vertical-align: middle;
    }
    tr.ssh-pm2-has-pos td:nth-child(3) code {
      font-weight: 600;
    }
    .ssh-pm2-batch-sep {
      opacity: 0.45;
      user-select: none;
    }
    .drawer-backdrop {
      position: fixed;
      inset: 0;
      z-index: 400;
      background: var(--overlay);
      display: flex;
      justify-content: flex-end;
    }
    .drawer-backdrop[hidden] { display: none; }
    .drawer-panel {
      width: min(520px, 96vw);
      height: 100%;
      background: var(--panel);
      border-left: 1px solid var(--border);
      display: flex;
      flex-direction: column;
      box-shadow: var(--shadow-drawer);
    }
    .drawer-head {
      padding: 0.85rem 1rem;
      border-bottom: 1px solid var(--border);
      display: flex;
      align-items: flex-start;
      justify-content: space-between;
      gap: 0.5rem;
      flex-shrink: 0;
    }
    .drawer-head h3 { margin: 0; font-size: 1rem; }
    .drawer-body {
      flex: 1;
      overflow-y: auto;
      padding: 0.85rem 1rem 1.5rem;
    }
    .drawer-log {
      margin-top: 0.5rem;
      font-size: 0.72rem;
      max-height: 140px;
      overflow: auto;
    }
    .open-pos-search {
      display: flex;
      flex-wrap: wrap;
      gap: 0.5rem;
      align-items: flex-end;
      margin: 0.65rem 0 0.35rem;
    }
    .open-pos-search .ops-field {
      flex: 1 1 14rem;
      margin: 0;
      min-width: 10rem;
    }
    .open-pos-search input[type="text"] {
      width: 100%;
      max-width: none;
    }
    .open-pos-grid-kind {
      display: flex;
      flex-wrap: wrap;
      gap: 1rem;
      margin: 0.5rem 0 0.75rem;
    }
    .open-pos-radio {
      display: inline-flex;
      align-items: center;
      gap: 0.35rem;
      font-size: 0.85rem;
      cursor: pointer;
    }
    .open-pos-card {
      margin-top: 0.75rem;
      padding: 0.75rem;
      background: var(--panel);
      border: 1px solid var(--border);
      border-radius: 6px;
    }
    .open-pos-card table { font-size: 0.78rem; }
    .open-pos-kv {
      display: grid;
      grid-template-columns: 7rem minmax(0, 1fr);
      column-gap: 1rem;
      row-gap: 0;
      max-width: 32rem;
      margin: 0;
      font-size: 0.78rem;
    }
    .open-pos-kv dt,
    .open-pos-kv dd {
      margin: 0;
      padding: 0.5rem 0;
      border-bottom: 1px solid var(--border);
      line-height: 1.35;
    }
    .open-pos-kv dt {
      color: var(--muted);
      font-weight: 500;
      text-align: right;
      white-space: nowrap;
    }
    .open-pos-kv dd {
      text-align: left;
      font-variant-numeric: tabular-nums;
      word-break: break-word;
    }
    .open-pos-kv dd.open-pos-kv-highlight {
      font-size: 0.88rem;
      font-weight: 600;
    }
    .open-pos-actions {
      display: flex;
      flex-wrap: wrap;
      gap: 0.5rem;
      margin-top: 0.85rem;
      align-items: center;
    }
    .open-pos-order-fields {
      display: flex;
      flex-wrap: wrap;
      gap: 0.75rem 1rem;
      align-items: flex-end;
      margin-top: 0.65rem;
      padding-top: 0.65rem;
      border-top: 1px solid var(--border);
    }
    .open-pos-order-fields .ops-field {
      margin: 0;
      min-width: 8rem;
    }
    .open-pos-order-fields input[type="number"] {
      width: 8rem;
    }
    .open-pos-hint {
      font-size: 0.72rem;
      color: var(--muted);
      margin: 0.35rem 0 0;
    }
    .block {
      background: var(--card);
      border: 1px solid var(--border);
      border-radius: 8px;
      padding: 0.85rem 1rem;
      margin-bottom: 1rem;
    }
    .block h3 {
      margin: 0 0 0.5rem;
      font-size: 0.8rem;
      color: var(--muted);
      font-weight: 500;
      text-transform: uppercase;
      letter-spacing: 0.04em;
    }
    .block-toolbar {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 0.75rem;
      margin-bottom: 0.5rem;
      flex-wrap: wrap;
    }
    .block-toolbar h3 { margin: 0; }
    .hodl-batch-actions {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 0.5rem 0.75rem;
    }
    .hodl-batch-select-all {
      display: inline-flex;
      align-items: center;
      gap: 0.35rem;
      font-size: 0.85rem;
      cursor: pointer;
      user-select: none;
    }
    .hodl-batch-check-col,
    .hodl-batch-check-cell {
      width: 2rem;
      text-align: center;
      padding-left: 0.15rem;
      padding-right: 0.15rem;
    }
    .hodl-batch-check-cell input {
      cursor: pointer;
      vertical-align: middle;
    }
    .rust-config-batch-bar {
      margin: 0.5rem 0;
      padding: 0.5rem 0.65rem;
      border: 1px solid var(--border);
      border-radius: 6px;
      background: var(--card);
    }
    .rust-config-batch-hint {
      margin-right: 0.15rem;
      color: var(--muted);
    }
    .rust-config-batch-field {
      display: inline-flex;
      align-items: center;
      gap: 0.3rem;
      color: var(--muted);
    }
    .rust-config-batch-field input,
    .rust-config-batch-field select {
      width: 5.5rem;
      font-size: 0.85rem;
      box-sizing: border-box;
      padding: 0.28rem 0.4rem;
      border-radius: 4px;
      border: 1px solid var(--border);
      background: var(--panel);
      color: var(--text);
    }
    .rust-config-batch-field select {
      width: 5rem;
    }
    .rust-config-batch-field input::placeholder {
      color: var(--muted);
      opacity: 0.75;
    }
    .rust-config-batch-field input:focus,
    .rust-config-batch-field select:focus {
      outline: none;
      border-color: var(--accent);
      box-shadow: var(--focus-ring);
    }
    .orders-info-panel .orders-info-section {
      margin-bottom: 1.25rem;
    }
    .orders-info-panel .orders-info-section:last-child {
      margin-bottom: 0;
    }
    .orders-info-panel .orders-info-section > h3 {
      margin: 0 0 0.35rem;
      font-size: 1rem;
    }
    .orders-info-panel .orders-info-subblock {
      margin-top: 0.75rem;
    }
    .orders-info-panel .orders-info-subblock h4 {
      margin: 0 0 0.35rem;
      font-size: 0.88rem;
      font-weight: 500;
      color: var(--muted);
    }
    .orders-info-section-head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 0.75rem;
      flex-wrap: wrap;
      margin-bottom: 0.35rem;
    }
    .orders-info-section-head h3 {
      margin: 0;
    }
    .orders-info-section-actions {
      display: flex;
      align-items: center;
      gap: 0.35rem;
      flex-wrap: wrap;
    }
    tr.pre-order-inventory-orphan {
      background: color-mix(in srgb, var(--warn) 14%, transparent);
    }
    tr.pre-order-inventory-orphan td:first-child {
      box-shadow: inset 3px 0 0 var(--warn);
    }
    .pre-order-orphan-tag {
      border-color: color-mix(in srgb, var(--warn) 45%, var(--border));
      color: var(--warn);
    }
    table {
      width: 100%;
      border-collapse: collapse;
      font-size: 0.8rem;
    }
    th, td {
      text-align: left;
      padding: 0.4rem 0.35rem;
      border-bottom: 1px solid var(--border);
    }
    th { color: var(--muted); font-weight: 500; }
    td.num { text-align: right; font-variant-numeric: tabular-nums; }
    th.num { text-align: right; }
    .err-box { color: var(--err); font-size: 0.85rem; }
    tr.view-grid-no-grid-orders td {
      color: var(--err);
    }
    .view-grid-total-bar {
      display: flex;
      align-items: baseline;
      gap: 0.65rem;
      margin-bottom: 0.65rem;
    }
    .view-grid-total-bar strong {
      font-size: 0.8rem;
      color: var(--muted);
      font-weight: 500;
      text-transform: uppercase;
      letter-spacing: 0.04em;
    }
    .view-grid-total-bar .num {
      font-size: 1.35rem;
      font-weight: 600;
      color: var(--text);
      font-variant-numeric: tabular-nums;
    }
    .cmd-list {
      font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
      font-size: 0.78rem;
      line-height: 1.6;
      color: var(--muted);
    }
    .cmd-list div { padding: 0.2rem 0; }
    .cmd-list span { color: var(--accent); }
    /* 执行中只弱化下方表格区，日志区保持可滚动、可点「收起」 */
    .detail.refreshing .detail-panels-wrap {
      opacity: 0.55;
      pointer-events: none;
    }
    .sym-cell-wrap {
      display: inline-flex;
      align-items: center;
      gap: 0.25rem;
      flex-wrap: nowrap;
    }
    .sym-futures-link {
      color: var(--accent);
      text-decoration: underline;
      text-underline-offset: 0.15em;
    }
    .sym-futures-link:hover,
    .sym-futures-link:focus-visible {
      text-decoration-thickness: 2px;
    }
    .sym-refresh-btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 1.15rem;
      height: 1.15rem;
      border-radius: 50%;
      border: 1px solid var(--border);
      background: var(--bg);
      color: var(--muted);
      cursor: pointer;
      font-size: 0.7rem;
      line-height: 1;
      padding: 0;
      flex-shrink: 0;
    }
    .sym-refresh-btn:hover:not(:disabled) {
      color: var(--accent);
      border-color: var(--accent);
    }
    .sym-refresh-btn:disabled {
      opacity: 0.65;
      cursor: wait;
    }
    .sym-refresh-btn.spinning {
      animation: sym-refresh-spin 0.7s linear infinite;
    }
    @keyframes sym-refresh-spin {
      from { transform: rotate(0deg); }
      to { transform: rotate(360deg); }
    }
    .action-log-mount {
      position: sticky;
      top: 0;
      z-index: 50;
      margin-bottom: 0.5rem;
    }
    .action-log-mount:empty { display: none; }
    .action-jobs-toolbar {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 0.5rem;
      margin-bottom: 0.35rem;
      padding: 0.25rem 0.4rem;
      border-radius: 6px;
      background: var(--panel);
      border: 1px solid var(--border);
    }
    .action-job {
      margin-bottom: 0.4rem;
      border: 1px solid var(--border);
      border-radius: 6px;
      background: var(--panel);
      overflow: hidden;
    }
    .action-job-running { border-left: 3px solid var(--accent); }
    .action-job-ok { border-left: 3px solid var(--ok); }
    .action-job-err { border-left: 3px solid var(--err); }
    .action-job-head {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 0.35rem 0.5rem;
      padding: 0.35rem 0.5rem;
      border-bottom: 1px solid var(--border);
      background: color-mix(in srgb, var(--panel) 92%, var(--accent));
    }
    .action-job-title { font-weight: 600; font-size: 0.85rem; flex: 1 1 auto; }
    .action-job-status { font-size: 0.75rem; color: var(--muted); }
    .action-job.collapsed .action-job-body { display: none; }
    .action-job-body {
      margin: 0;
      padding: 0.45rem 0.55rem;
      max-height: 220px;
      overflow: auto;
      font-size: 0.78rem;
      line-height: 1.45;
      white-space: pre-wrap;
    }
    .empty-hint { color: var(--muted); padding: 2rem; text-align: center; }
    .workspace-state {
      display: grid;
      justify-items: center;
      align-content: center;
      gap: 0.55rem;
      width: min(100%, 34rem);
      min-height: min(62vh, 520px);
      margin: 0 auto;
      padding: 2rem 1.25rem;
      text-align: center;
      color: var(--muted);
    }
    .workspace-state-mark {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 3.25rem;
      height: 3.25rem;
      margin-bottom: 0.25rem;
      border: 1px solid var(--accent-border);
      border-radius: 15px;
      background: linear-gradient(145deg, var(--accent-bg-soft), var(--card));
      color: var(--accent);
      box-shadow: var(--shadow-md);
      font-size: 1.05rem;
      font-weight: 700;
    }
    .workspace-state h2 {
      margin: 0;
      color: var(--text);
      font-size: 1.05rem;
    }
    .workspace-state p {
      max-width: 28rem;
      margin: 0;
      font-size: 0.86rem;
    }
    .workspace-state small { font-size: 0.74rem; }
    .workspace-state-actions {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      gap: 0.5rem;
      margin-top: 0.45rem;
    }
    .workspace-state-loading .workspace-state-mark {
      width: 2.6rem;
      height: 2.6rem;
      border: 2px solid color-mix(in srgb, var(--accent) 18%, var(--border));
      border-top-color: var(--accent);
      border-radius: 50%;
      box-shadow: none;
      animation: account-boot-spin 0.85s linear infinite;
    }
    .account-boot-panel {
      display: flex;
      align-items: center;
      justify-content: center;
      min-height: min(52vh, 420px);
      padding: 2.5rem 1.5rem;
    }
    .account-boot-card {
      width: min(100%, 360px);
      padding: 1.75rem 1.5rem 1.5rem;
      border: 1px solid var(--border);
      border-radius: 14px;
      background: linear-gradient(165deg, color-mix(in srgb, var(--card) 92%, var(--accent) 8%), var(--card));
      box-shadow: 0 18px 40px color-mix(in srgb, var(--bg) 70%, transparent);
      text-align: center;
    }
    .account-boot-spinner {
      width: 2.4rem;
      height: 2.4rem;
      margin: 0 auto 1rem;
      border-radius: 50%;
      border: 2px solid color-mix(in srgb, var(--accent) 18%, var(--border));
      border-top-color: var(--accent);
      animation: account-boot-spin 0.85s linear infinite;
    }
    @keyframes account-boot-spin {
      to { transform: rotate(360deg); }
    }
    .account-boot-title {
      display: flex;
      flex-direction: column;
      gap: 0.2rem;
      margin-bottom: 0.55rem;
    }
    .boot-acc-alias {
      font-size: 1.05rem;
      font-weight: 650;
      color: var(--accent);
      letter-spacing: 0.02em;
    }
    .boot-acc-vault {
      font-size: 0.82rem;
      color: var(--muted);
      font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    }
    .boot-acc-vault-only {
      font-size: 1rem;
      color: var(--text);
      font-weight: 600;
    }
    .account-boot-sub {
      margin: 0 0 1.1rem;
      font-size: 0.82rem;
      color: var(--muted);
    }
    .account-boot-skeleton {
      display: grid;
      gap: 0.45rem;
    }
    .account-boot-skel-line,
    .account-boot-skel-block {
      height: 0.55rem;
      border-radius: 999px;
      background: linear-gradient(
        90deg,
        color-mix(in srgb, var(--border) 80%, transparent) 0%,
        color-mix(in srgb, var(--accent) 16%, var(--border)) 50%,
        color-mix(in srgb, var(--border) 80%, transparent) 100%
      );
      background-size: 200% 100%;
      animation: account-boot-shimmer 1.35s ease-in-out infinite;
    }
    .account-boot-skel-line.short { width: 62%; margin: 0 auto; }
    .account-boot-skel-block {
      height: 3.2rem;
      border-radius: 10px;
      margin-top: 0.15rem;
    }
    @keyframes account-boot-shimmer {
      0% { background-position: 100% 0; }
      100% { background-position: -100% 0; }
    }
    .config-rust-account-history-wrap {
      margin-top: 0.75rem;
    }
    .rust-history-doc-panel {
      width: min(96vw, 720px);
      max-height: min(88vh, 820px);
      display: flex;
      flex-direction: column;
    }
    .rust-history-doc-pre {
      flex: 1 1 auto;
      margin: 0;
      padding: 0.65rem 0.75rem;
      max-height: min(62vh, 560px);
      overflow: auto;
      font-size: 0.78rem;
      line-height: 1.45;
      border: 1px solid var(--border);
      border-radius: 8px;
      background: color-mix(in srgb, var(--bg) 88%, var(--card));
      white-space: pre-wrap;
      word-break: break-word;
    }
    .table-wrap {
      overflow-x: auto;
      overflow-y: visible;
      scrollbar-gutter: stable;
    }
    .table-wrap table { min-width: 720px; }
    .table-wrap .scan-table { min-width: 900px; }
    @media (max-width: 720px) {
      .table-wrap .scan-table { min-width: 720px; }
      .table-wrap .scan-table.scan-table-kr { min-width: 610px; }
    }
    .hodl-long-table { min-width: 1280px !important; }
    .hodl-short-table { min-width: 980px !important; }
    .hodl-long-table th,
    .hodl-short-table th { white-space: nowrap; }
    .section-note { font-size: 0.78rem; color: var(--muted); margin: -0.25rem 0 0.5rem; }
    .tech-details {
      display: inline-block;
      margin-left: 0.5rem;
      vertical-align: baseline;
    }
    .tech-details summary {
      color: var(--accent);
      cursor: pointer;
      font-weight: 600;
    }
    .tech-details[open] {
      display: block;
      margin: 0.4rem 0 0;
      padding: 0.45rem 0.6rem;
      border: 1px solid var(--border);
      border-radius: 6px;
      background: var(--chip-bg);
    }
    .tech-details[open] summary { margin-bottom: 0.3rem; }
    .tech-details[hidden] { display: none; }
    .tech-details-block {
      display: block;
      width: fit-content;
      max-width: 100%;
      margin: 0.45rem 0 0.65rem;
      border: 1px solid var(--border);
      border-radius: 8px;
      background: color-mix(in srgb, var(--panel) 92%, var(--accent) 8%);
      overflow: hidden;
    }
    .tech-details-block > summary {
      padding: 0.42rem 0.62rem;
      color: var(--muted);
      font-size: 0.75rem;
      line-height: 1.35;
      user-select: none;
    }
    .tech-details-block > summary:hover { color: var(--accent); }
    .tech-details-block[open] {
      display: block;
      width: auto;
      margin: 0.45rem 0 0.65rem;
      padding: 0;
      border-radius: 8px;
      background: color-mix(in srgb, var(--panel) 92%, var(--accent) 8%);
    }
    .tech-details-block[open] > summary {
      margin: 0;
      border-bottom: 1px solid var(--border);
    }
    .tech-details-content {
      min-width: 0;
      padding: 0.55rem 0.65rem;
      color: var(--muted);
      font-size: 0.75rem;
      line-height: 1.55;
      overflow-wrap: anywhere;
    }
    .tech-details-content > :first-child { margin-top: 0; }
    .tech-details-content > :last-child { margin-bottom: 0; }
    .tech-details-content code { white-space: normal; overflow-wrap: anywhere; }
    .tech-details-compact { margin-top: 0.3rem; margin-bottom: 0.45rem; }
    .tech-details-compact > summary { padding: 0.28rem 0.5rem; font-size: 0.71rem; }
    .ssh-command-details { width: 100%; }

    .action-cluster,
    .risk-action-group {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 0.35rem;
      min-width: 0;
    }
    .action-cluster-label,
    .risk-action-label {
      flex: 0 0 100%;
      color: var(--muted);
      font-size: 0.67rem;
      font-weight: 700;
      letter-spacing: 0.04em;
      text-transform: uppercase;
    }
    .action-cluster-inline,
    .risk-action-group-inline {
      display: inline-flex;
      flex-wrap: nowrap;
      width: auto;
      vertical-align: middle;
    }
    .risk-action-group {
      padding: 0.48rem;
      border: 1px solid var(--danger-border);
      border-radius: 8px;
      background: var(--err-bg-soft);
    }
    .risk-action-group-inline {
      padding: 0.2rem;
      border-radius: 6px;
    }
    .risk-action-group-inline .risk-action-label { display: none; }
    .risk-action-label { color: var(--err); }
    .ssh-pm2-batch-actions,
    .hodl-batch-actions,
    .pre-order-toolbar {
      align-items: flex-start;
      gap: 0.55rem;
    }
    .ssh-pm2-batch-actions > .action-cluster,
    .ssh-pm2-batch-actions > .risk-action-group,
    .hodl-batch-actions > .action-cluster,
    .hodl-batch-actions > .risk-action-group,
    .pre-order-toolbar > .action-cluster,
    .pre-order-toolbar > .risk-action-group {
      flex: 1 1 20rem;
    }
    .ops-action-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr));
      gap: 0.65rem;
      margin-top: 0.65rem;
    }
    .ops-action-card {
      min-width: 0;
      padding: 0.65rem;
      border: 1px solid var(--border);
      border-radius: 9px;
      background: var(--card);
    }
    .ops-action-card h4 {
      margin: 0 0 0.5rem;
      color: var(--text);
      font-size: 0.78rem;
    }
    .orders-grid-overview {
      margin-bottom: 0.8rem;
      padding-bottom: 0.8rem;
      border-bottom: 1px solid var(--border);
    }
    .sym-menu-group-label {
      display: block;
      padding: 0.38rem 0.55rem 0.18rem;
      color: var(--muted);
      font-size: 0.64rem;
      font-weight: 700;
      letter-spacing: 0.05em;
      text-transform: uppercase;
    }
    .sym-menu-group-label.danger { color: var(--err); }
    .vol-metric-help-details {
      margin: 0 0 0.75rem;
      border: 1px solid var(--border);
      border-radius: 8px;
      padding: 0.5rem 0.65rem 0.65rem;
      background: var(--card);
    }
    .vol-metric-help-summary {
      cursor: pointer;
      list-style: none;
      margin: 0 0 0.35rem;
      user-select: none;
      font-size: 0.82rem;
      font-weight: 600;
    }
    .vol-metric-help-summary::-webkit-details-marker { display: none; }
    .vol-metric-help-summary::before {
      content: "▸ ";
      color: var(--muted);
    }
    .vol-metric-help-details[open] .vol-metric-help-summary::before {
      content: "▾ ";
    }
    .vol-metric-help-intro { margin-top: 0; }
    .vol-metric-help-table-wrap { margin: 0.35rem 0 0.5rem; }
    .vol-metric-help-table {
      font-size: 0.72rem;
    }
    .vol-metric-help-table th[scope="row"] {
      white-space: nowrap;
      font-weight: 600;
      vertical-align: top;
    }
    .vol-metric-help-table td {
      vertical-align: top;
      line-height: 1.45;
    }
    .vol-metric-help-table .vol-help-formula {
      font-size: 0.68rem;
      white-space: normal;
      word-break: break-word;
    }
    .vol-metric-help-table .vol-help-guide {
      color: var(--muted);
      min-width: 10rem;
    }
    .auth-login-panel {
      width: min(22rem, 92vw);
    }
    th.vol-th-help {
      cursor: help;
      text-decoration: underline dotted;
      text-decoration-color: var(--muted);
      text-underline-offset: 2px;
    }
    td.num[title] { cursor: help; }
    button.btn-warn {
      background: transparent;
      color: var(--err);
      border: 1px solid var(--err);
    }
    button.btn-warn:hover:not(:disabled) { background: var(--danger-hover-bg); }
    button.btn-ok {
      background: transparent;
      color: var(--ok);
      border: 1px solid var(--ok-border);
    }
    button.btn-ok:hover:not(:disabled) { background: var(--row-buy-bg); }
    button.btn-xs {
      padding: 0.2rem 0.45rem;
      font-size: 0.72rem;
      border-radius: 4px;
    }
    td.row-actions { white-space: nowrap; width: 1%; }
    td.rust-config-row-actions { white-space: nowrap; width: 1%; min-width: 11.5rem; }
    code.ssh-cmd-cell {
      display: block;
      white-space: pre-wrap;
      word-break: break-all;
      font-size: 0.78rem;
      color: var(--muted);
    }
    .spot-assets-table td.row-actions {
      white-space: nowrap;
      width: 1%;
      text-align: right;
    }
    .spot-sell-panel {
      min-width: 11.5rem;
      padding: 0.45rem 0.5rem;
    }
    .spot-sell-panel-body {
      display: flex;
      flex-direction: column;
      gap: 0.4rem;
    }
    .spot-sell-field-row {
      display: flex;
      align-items: center;
      gap: 0.35rem;
    }
    .spot-sell-panel-actions {
      display: flex;
      justify-content: flex-end;
      gap: 0.35rem;
    }
    .spot-sell-panel-actions button:not(.btn-ghost) {
      padding: 0.25rem 0.55rem;
      font-size: 0.75rem;
    }
    select.spot-sell-mode {
      padding: 0.15rem 0.25rem;
      font-size: 0.72rem;
      background: var(--card);
      border: 1px solid var(--border);
      border-radius: 4px;
      color: var(--text);
      flex: 0 0 auto;
    }
    input.spot-sell-input,
    input.spot-sell-usdt-input {
      flex: 1;
      min-width: 0;
      width: auto;
      padding: 0.2rem 0.4rem;
      font-size: 0.75rem;
      background: var(--card);
      border: 1px solid var(--border);
      border-radius: 4px;
      color: var(--text);
    }
    .spot-sell-free-hint {
      font-size: 0.72rem;
      margin: 0;
    }
    input.spot-sell-input:focus,
    input.spot-sell-usdt-input:focus {
      outline: none;
      border-color: var(--accent);
    }
    /* 多头 hodl：相对上限为负且建议 buy（低于上限需补仓） */
    tbody tr.hodl-long-buy-below-max {
      background: var(--row-buy-bg);
    }
    tbody tr.hodl-long-buy-below-max:hover {
      background: var(--row-buy-bg-hover);
    }
    tbody tr.hodl-long-buy-below-max td {
      border-color: var(--row-buy-border);
    }
    /* 多头 hodl：相对上限为正且建议 sell（高于上限需减仓） */
    tbody tr.hodl-long-sell-above-max {
      background: var(--row-sell-bg);
    }
    tbody tr.hodl-long-sell-above-max:hover {
      background: var(--row-sell-bg-hover);
    }
    tbody tr.hodl-long-sell-above-max td {
      border-color: var(--row-sell-border);
    }
    /* 多头 hodl：现价低于区间价格下限（破 grid_lower） */
    tbody tr.hodl-long-below-min {
      background: color-mix(in srgb, var(--warn) 16%, transparent);
    }
    tbody tr.hodl-long-below-min:hover {
      background: color-mix(in srgb, var(--warn) 24%, transparent);
    }
    tbody tr.hodl-long-below-min td {
      border-color: color-mix(in srgb, var(--warn) 34%, transparent);
    }
    td.hodl-long-price-below-min {
      color: var(--warn);
      font-weight: 700;
    }
    td.hodl-suggest-sell-above {
      color: var(--warn);
      font-weight: 600;
    }
    td.hodl-long-change-above {
      color: var(--warn);
      font-weight: 600;
    }
    .hodl-row-legend-chip {
      display: inline-block;
      padding: 0.05rem 0.35rem;
      border-radius: 3px;
      font-size: 0.72rem;
      margin-right: 0.15rem;
    }
    .hodl-row-legend-chip.hodl-long-buy-below-max {
      background: var(--row-buy-bg);
      border: 1px solid var(--row-buy-border);
    }
    .hodl-row-legend-chip.hodl-long-sell-above-max {
      background: var(--row-sell-bg);
      border: 1px solid var(--row-sell-border);
    }
    .hodl-row-legend-chip.hodl-long-below-min {
      background: color-mix(in srgb, var(--warn) 16%, transparent);
      border: 1px solid color-mix(in srgb, var(--warn) 34%, transparent);
    }
    .hodl-pre-warn {
      display: inline-block;
      margin-left: 0.25rem;
      font-size: 0.85rem;
      line-height: 1;
      cursor: help;
    }
    .hodl-pre-warn-missing { color: var(--warn); }
    .hodl-pre-warn-mismatch { color: var(--err); }
    .hodl-pre-dev-pos { color: var(--warn); }
    .hodl-pre-dev-neg { color: var(--ok); }
    td.hodl-pre-dev-cell { white-space: nowrap; font-size: 0.82rem; }
    .chip.vip-level-chip {
      font-weight: 600;
      border-color: color-mix(in srgb, var(--accent) 55%, var(--border));
    }
    .pm-equity-dual strong { font-variant-numeric: tabular-nums; }
    .pm-head h3 { line-height: 1.45; }
    .grid-fixed-warn { color: var(--warn); font-weight: 500; }
    .warn-legend .hodl-pre-warn,
    .warn-legend .grid-fixed-warn { cursor: default; }
    .sym-menu { position: relative; display: inline-block; }
    .sym-menu-panel {
      display: none;
      position: fixed;
      z-index: 300;
      min-width: 9.5rem;
      max-width: min(16rem, calc(100vw - 16px));
      background: var(--card);
      border: 1px solid var(--border);
      border-radius: 6px;
      padding: 0.2rem;
      box-shadow: var(--shadow-lg);
    }
    .sym-menu-panel.open { display: block; }
    .sym-menu-panel button {
      display: block;
      width: 100%;
      text-align: left;
      background: transparent;
      color: var(--text);
      border: none;
      padding: 0.35rem 0.55rem;
      font-size: 0.78rem;
      border-radius: 4px;
      cursor: pointer;
    }
    .sym-menu-panel button:hover { background: var(--menu-hover-bg); }
    .sym-menu-panel button.danger { color: var(--err); }
    .sym-menu-panel button.danger:hover { background: var(--danger-hover-bg); }
    .op-log {
      border: 1px solid var(--accent);
      border-radius: 6px;
      background: var(--card);
      overflow: hidden;
      box-shadow: var(--shadow-md);
    }
    .op-log-head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 0.5rem;
      padding: 0.4rem 0.65rem;
      font-size: 0.8rem;
      border-bottom: 1px solid var(--border);
      background: var(--card);
    }
    .op-log-head .op-log-title { color: var(--text); font-weight: 500; }
    .op-log-body {
      margin: 0;
      padding: 0.55rem 0.65rem;
      font-size: 0.78rem;
      color: var(--muted);
      white-space: pre-wrap;
      font-family: ui-monospace, Menlo, monospace;
      max-height: 280px;
      overflow: auto;
    }
    .pm-head {
      display: flex;
      flex-wrap: wrap;
      align-items: flex-start;
      justify-content: space-between;
      gap: 0.65rem;
      margin-bottom: 0.5rem;
    }
    .pm-head h3 { margin: 0; flex: 1 1 12rem; }
    .pm-uni-mmr {
      display: inline-flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 0.35rem 0.5rem;
      font-size: 0.88rem;
      font-weight: 600;
      padding: 0.2rem 0.55rem;
      border-radius: 6px;
      background: var(--card);
      border: 1px solid var(--border);
    }
    .pm-uni-mmr.ok { color: var(--ok); border-color: var(--ok-border-soft); }
    .pm-uni-mmr.warn { color: var(--warn); border-color: var(--warn-border); }
    .pm-uni-mmr.danger { color: var(--err); border-color: var(--danger-border); }
    .pm-uni-mmr .pm-status-tag {
      font-size: 0.72rem;
      font-weight: 500;
      color: var(--muted);
    }
    .acc-item .acc-mmr {
      flex: 0 0 auto;
      white-space: nowrap;
      font-size: 0.72rem;
      color: var(--muted);
      margin-left: 0;
    }
    .acc-item .acc-mmr.warn { color: var(--warn); }
    .acc-item .acc-mmr.danger { color: var(--err, #c62828); }
    .pm-asset-bnb-low td { color: var(--warn); }
    .pm-asset-bnb-low td:first-child { font-weight: 600; }
    .pm-bnb-tag {
      font-size: 0.68rem;
      font-weight: 600;
      color: var(--warn);
      margin-left: 0.25rem;
    }
    .pm-bnb-warn {
      margin: 0 0 0.55rem;
      padding: 0.45rem 0.6rem;
      border-radius: 6px;
      font-size: 0.82rem;
      color: var(--warn);
      background: color-mix(in srgb, var(--warn) 12%, transparent);
      border: 1px solid var(--warn-border);
    }
    .pm-settings-row {
      margin: 0.65rem 0 0.85rem;
      padding-top: 0.55rem;
      border-top: 1px solid var(--border);
    }
    .chip-row { display: flex; flex-wrap: wrap; gap: 0.5rem; align-items: center; }
    .chip {
      display: inline-flex;
      align-items: center;
      gap: 0.25rem;
      padding: 0.2rem 0.5rem;
      border-radius: 999px;
      font-size: 0.72rem;
      border: 1px solid var(--border);
      background: var(--chip-bg);
      color: var(--muted);
      cursor: pointer;
    }
    .chip:hover { border-color: var(--accent); color: var(--text); }
    .chip.on { border-color: var(--ok); color: var(--ok); }
    .chip.off { border-color: var(--border); }
    .ops-form {
      display: flex;
      flex-wrap: wrap;
      gap: 0.5rem 0.75rem;
      align-items: flex-end;
      margin-top: 0.5rem;
    }
    .ops-field { display: flex; flex-direction: column; gap: 0.2rem; }
    .ops-field label { font-size: 0.72rem; color: var(--muted); }
    .ops-field input,
    .ops-field select,
    .ops-field textarea {
      background: var(--panel);
      border: 1px solid var(--border);
      color: var(--text);
      border-radius: 4px;
      padding: 0.3rem 0.45rem;
      font-size: 0.78rem;
      min-width: 5rem;
    }
    .config-form-grid {
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(8.5rem, 1fr));
      gap: 0.45rem 0.65rem;
      margin-top: 0.5rem;
    }
    .config-form-grid .ops-field input { width: 100%; min-width: 0; }
    .config-token-form-rows {
      display: grid;
      column-gap: 0.75rem;
      row-gap: 0.55rem;
      align-items: end;
      margin-top: 0.5rem;
    }
    .config-token-form-rows {
      grid-template-columns: 8.5rem 1fr 1fr;
      max-width: 40rem;
    }
    .config-rust-form {
      display: flex;
      flex-direction: column;
      gap: 0.65rem;
      max-width: 56rem;
      margin-top: 0.5rem;
    }
    .cfg-rust-section {
      border: 1px solid var(--border);
      border-radius: 6px;
      padding: 0.6rem 0.75rem 0.7rem;
      background: var(--panel);
    }
    .cfg-rust-section-title {
      margin: 0 0 0.5rem;
      font-size: 0.72rem;
      font-weight: 600;
      color: var(--muted);
      letter-spacing: 0.03em;
    }
    .cfg-rust-fields {
      display: grid;
      gap: 0.45rem 0.65rem;
      align-items: end;
    }
    .cfg-rust-fields.cols-1 { grid-template-columns: minmax(16rem, 32rem); }
    .cfg-rust-symbol-row {
      display: flex;
      gap: 0.45rem;
      align-items: center;
    }
    .cfg-rust-symbol-row input { flex: 1 1 auto; min-width: 0; }
    .cfg-rust-symbol-row #btn-rust-prefetch { flex: 0 0 auto; white-space: nowrap; }
    #cfg-rust-one-grid-hint { margin-top: 0.35rem; }
    #cfg-rust-prefetch-hint { white-space: pre-line; margin-top: 0.35rem; }
    .cfg-rust-split {
      display: grid;
      grid-template-columns: minmax(0, 1.2fr) minmax(15rem, 0.8fr);
      gap: 0.65rem;
      align-items: start;
    }
    .cfg-rust-chip-list { display: flex; flex-direction: column; gap: 0.35rem; }
    .cfg-rust-chip {
      display: flex;
      align-items: center;
      gap: 0.45rem;
      min-height: 1.7rem;
      padding: 0.2rem 0.45rem;
      border-radius: 6px;
      background: var(--chip-bg, var(--surface-inset, #f0f4f1));
      cursor: pointer;
    }
    .cfg-rust-chip.is-locked { cursor: default; opacity: 0.78; }
    .cfg-rust-chip-k { color: var(--muted); font-size: 0.72rem; flex: 0 0 4.2rem; }
    .cfg-rust-chip-v { margin-left: auto; font-size: 0.78rem; font-variant-numeric: tabular-nums; }
    .cfg-rust-chip-edit { display: none; flex: 1 1 auto; min-width: 0; }
    .cfg-rust-chip.is-editing { cursor: default; background: var(--card); }
    .cfg-rust-chip.is-editing .cfg-rust-chip-v { display: none; }
    .cfg-rust-chip.is-editing .cfg-rust-chip-edit { display: block; }
    .cfg-rust-chip-edit input,
    .cfg-rust-chip-edit select {
      width: 100%;
      box-sizing: border-box;
      background: var(--card);
      border: 1px solid var(--border);
      color: var(--text);
      border-radius: 4px;
      padding: 0.22rem 0.4rem;
      font-size: 0.78rem;
    }
    .cfg-rust-compute-row { display: flex; flex-wrap: wrap; gap: 0.4rem; margin-top: 0.35rem; }
    .cfg-rust-more { margin-top: 0.15rem; border: 1px solid var(--border); border-radius: 6px; padding: 0.45rem 0.65rem; background: var(--panel); }
    .cfg-rust-more > summary { cursor: pointer; color: var(--muted); font-size: 0.78rem; }
    .cfg-rust-more[open] > summary { margin-bottom: 0.5rem; }
    @media (max-width: 860px) {
      .cfg-rust-split { grid-template-columns: 1fr; }
    }
    .cfg-rust-fields.cols-2 { grid-template-columns: 1fr 1fr; }
    .cfg-rust-fields.cols-3 { grid-template-columns: 1fr 1fr 1fr; }
    .cfg-rust-fields.cols-full { grid-template-columns: 1fr; }
    .config-rust-form .cfg-form-cell input,
    .config-rust-form .cfg-form-cell select {
      width: 100%;
      min-width: 0;
      box-sizing: border-box;
      background: var(--card);
      border: 1px solid var(--border);
      color: var(--text);
      border-radius: 4px;
      padding: 0.3rem 0.45rem;
      font-size: 0.78rem;
    }
    .config-rust-form .cfg-form-cell select:disabled {
      opacity: 0.55;
      cursor: not-allowed;
      color: var(--muted);
    }
    .config-rust-form .cfg-form-cell {
      display: flex;
      flex-direction: column;
      gap: 0.2rem;
      min-width: 0;
    }
    .config-rust-form .cfg-form-cell label {
      font-size: 0.72rem;
      color: var(--muted);
      line-height: 1.3;
    }
    .config-rust-form .cfg-form-cell-check {
      display: flex;
      flex-direction: row;
      align-items: center;
      gap: 0.35rem;
      min-height: 2rem;
      font-size: 0.78rem;
    }
    .config-rust-form .cfg-form-cell-check input { width: auto; margin: 0; }
    @media (max-width: 720px) {
      .cfg-rust-fields.cols-2,
      .cfg-rust-fields.cols-3 { grid-template-columns: 1fr; }
    }
    .config-token-form-rows .cfg-form-label {
      margin: 0;
      padding: 0 0 0.35rem;
      font-size: 0.78rem;
      color: var(--text);
      font-weight: 500;
      text-align: right;
      line-height: 1.35;
      align-self: end;
    }
    .config-token-form-rows .cfg-form-label-section {
      color: var(--muted);
    }
    .config-token-form-rows .cfg-form-cell {
      display: flex;
      flex-direction: column;
      gap: 0.2rem;
      min-width: 0;
    }
    .config-token-form-rows .cfg-form-cell label {
      font-size: 0.72rem;
      color: var(--muted);
    }
    .config-token-form-rows .cfg-form-cell input,
    .config-token-form-rows .cfg-form-cell select,
    .config-token-form-rows > input {
      width: 100%;
      min-width: 0;
      box-sizing: border-box;
      background: var(--panel);
      border: 1px solid var(--border);
      color: var(--text);
      border-radius: 4px;
      padding: 0.3rem 0.45rem;
      font-size: 0.78rem;
    }
    .config-token-form-rows .cfg-span-2 {
      grid-column: 2 / 4;
    }
    .cfg-field-key {
      display: block;
      font-size: 0.65rem;
      color: var(--muted);
      font-weight: normal;
      margin-top: 0.12rem;
      line-height: 1.25;
      word-break: break-all;
    }
    .config-hosts {
      width: 100%;
      min-height: 5rem;
      font-family: ui-monospace, monospace;
      font-size: 0.75rem;
    }
    .config-actions { display: flex; gap: 0.35rem; flex-wrap: wrap; }
    button.btn-danger {
      background: transparent;
      color: var(--err);
      border: 1px solid var(--err);
    }
    .ops-field input[type="number"] { width: 5.5rem; }
    .ops-hint { font-size: 0.78rem; color: var(--muted); margin: 0.35rem 0 0; }
    .ops-warn {
      border: 1px solid var(--err);
      background: var(--err-bg-soft);
      color: var(--err);
      padding: 0.55rem 0.75rem;
      border-radius: 6px;
      font-size: 0.8rem;
      margin-bottom: 0.75rem;
    }
    .ops-disabled { opacity: 0.45; pointer-events: none; }
    .avail-line { font-size: 0.78rem; color: var(--muted); min-height: 1.1em; }
    .ops-sub {
      margin-top: 0.75rem;
      padding: 0.65rem 0.75rem;
      background: var(--panel);
      border-radius: 6px;
      border: 1px solid var(--border);
    }
    .ops-sub-title {
      margin: 0 0 0.4rem;
      font-size: 0.78rem;
      color: var(--muted);
      text-transform: uppercase;
      letter-spacing: 0.04em;
      font-weight: 500;
    }
    .earn-stable-picker { margin-bottom: 0.35rem; }
    .earn-stable-panel.hidden { display: none; }
    .earn-stable-panel { margin-top: 0.25rem; }
    .earn-stable-summary { margin-top: 0; }
    .drawer-backdrop {
      position: fixed;
      inset: 0;
      z-index: 400;
      background: var(--overlay);
      display: flex;
      justify-content: flex-end;
    }
    .drawer-backdrop[hidden] { display: none !important; }
    .drawer-panel {
      width: min(42rem, 100vw);
      height: 100%;
      background: var(--panel);
      border-left: 1px solid var(--border);
      display: flex;
      flex-direction: column;
      box-shadow: var(--shadow-drawer);
    }
    .drawer-head {
      display: flex;
      align-items: flex-start;
      justify-content: space-between;
      gap: 0.75rem;
      padding: 0.85rem 1rem;
      border-bottom: 1px solid var(--border);
      flex-shrink: 0;
    }
    .drawer-head h3 { margin: 0; font-size: 1rem; }
    .drawer-body {
      flex: 1;
      overflow: auto;
      padding: 0.85rem 1rem 1.25rem;
    }
    .drawer-body.pre-order-drawer-body {
      display: flex;
      flex-direction: column;
      overflow: hidden;
      padding: 0;
    }
    .pre-order-drawer-fixed {
      flex-shrink: 0;
      padding: 0.65rem 1rem 0.7rem;
      border-bottom: 1px solid var(--border);
      background: var(--panel);
      position: sticky;
      top: 0;
      z-index: 2;
    }
    .pre-order-drawer-scroll {
      flex: 1;
      min-height: 0;
      overflow: auto;
      padding: 0.65rem 1rem 1.25rem;
    }
    .pre-order-scroll-note {
      margin: 0 0 0.65rem;
      font-size: 0.72rem;
    }
    .pre-order-config-details {
      margin-bottom: 0.75rem;
      border: 1px solid var(--border);
      border-radius: 8px;
      padding: 0.5rem 0.65rem 0.65rem;
      background: var(--card);
    }
    .pre-order-config-summary {
      cursor: pointer;
      list-style: none;
      margin: 0;
      user-select: none;
    }
    .pre-order-config-summary::-webkit-details-marker { display: none; }
    .pre-order-config-summary::before {
      content: "▸ ";
      color: var(--muted);
    }
    .pre-order-config-details[open] .pre-order-config-summary::before {
      content: "▾ ";
    }
    .pre-order-table-wrap {
      max-height: none;
    }
    .pre-order-table-wrap .table-wrap,
    .pre-order-table-wrap table {
      margin: 0;
    }
    #pre-order-drawer-path {
      font-size: 0.72rem;
      color: var(--muted);
      word-break: break-all;
    }
    .pre-order-toolbar {
      display: flex;
      flex-wrap: wrap;
      gap: 0.35rem;
      align-items: center;
      margin: 0;
    }
    .pre-order-toolbar-spacer {
      flex: 1;
      min-width: 0.5rem;
    }
    .pre-order-drawer-body.pre-order-place-busy .pre-order-toolbar {
      pointer-events: none;
      opacity: 0.72;
    }
    .pre-place-mode-select {
      font-size: 0.78rem;
      padding: 0.25rem 0.4rem;
      max-width: 5.5rem;
      border-radius: 4px;
      border: 1px solid var(--border);
      background: var(--panel);
      color: var(--text);
    }
    .pre-place-mode-select:focus {
      outline: none;
      border-color: var(--accent);
      box-shadow: var(--focus-ring);
    }
    .pre-order-meta {
      font-size: 0.75rem;
      color: var(--muted);
      margin: 0 0 0.45rem;
      line-height: 1.45;
    }
    .status-pill {
      display: inline-block;
      padding: 0.1rem 0.4rem;
      border-radius: 4px;
      font-size: 0.7rem;
      border: 1px solid var(--border);
    }
    .status-pill.pending { color: var(--muted); }
    .status-pill.ok { color: var(--ok); border-color: var(--ok-border, var(--ok)); }
    .status-pill.warn { color: var(--warn); border-color: color-mix(in srgb, var(--warn) 45%, var(--border)); }
    .status-pill.placed { color: var(--ok); border-color: var(--ok-border); }
    .status-pill.merged { color: var(--accent); border-color: var(--accent-border); }
    .status-pill.delist { color: var(--err); border-color: var(--err-border, var(--err)); }
    .p1010-delisted-row td:first-child strong { color: var(--err); }
    .quant-risk-summary-alert { color: var(--err); }
    .quant-risk-locked { color: var(--err); font-weight: 600; }
    .quant-risk-account-lock {
      display: flex;
      flex-direction: column;
      gap: 0.2rem;
    }
    .quant-risk-recover-time {
      font-size: 0.78rem;
      color: var(--err);
      font-variant-numeric: tabular-nums;
      font-weight: 500;
    }
    .quant-risk-bar-cell { min-width: 7rem; }
    .quant-risk-bar {
      height: 6px;
      background: var(--border);
      border-radius: 3px;
      overflow: hidden;
      margin-bottom: 0.15rem;
    }
    .quant-risk-bar-fill {
      height: 100%;
      border-radius: 3px;
      background: var(--muted);
    }
    .quant-risk-bar-fill.ok { background: var(--ok); }
    .quant-risk-bar-fill.warn { background: var(--warn); }
    .quant-risk-bar-fill.danger { background: var(--err); }
    .quant-risk-bar-fill.locked { background: var(--err); }
    .sidebar-head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 0.35rem;
      padding: 0.75rem 1rem 0.35rem;
    }
    .rust-mcap-grid-filter { margin-left: 0.5rem; white-space: nowrap; }
    .rust-mcap-grid-ok { color: var(--ok); font-weight: 600; }
    .rust-mcap-grid-warn { color: var(--warn); font-weight: 600; }
    .rust-mcap-grid-err { color: var(--err); font-weight: 600; }
    .rust-mcap-grid-ok-text { color: var(--ok); }
    .rust-mcap-grid-warn-text { color: var(--warn); }
    .rust-mcap-grid-err-text { color: var(--err); }
    tr.rust-mcap-grid-mismatch-row { background: color-mix(in srgb, var(--warn) 8%, transparent); }
    tr.hodl-short-no-config { background: color-mix(in srgb, var(--muted) 12%, transparent); }
    .cfg-rust-mcap-grid-check { margin-top: 0.35rem; display: block; }
    .modal-backdrop {
      position: fixed;
      inset: 0;
      z-index: 500;
      background: var(--overlay);
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 1rem;
    }
    .modal-backdrop[hidden] { display: none !important; }
    .modal-panel {
      width: min(28rem, 100%);
      max-height: min(90vh, 720px);
      overflow: auto;
      background: var(--panel);
      border: 1px solid var(--border);
      border-radius: 8px;
      padding: 1rem 1.1rem 1.15rem;
      box-shadow: var(--shadow-modal);
    }
    .modal-panel h3 { margin: 0 0 0.5rem; font-size: 1rem; }
    .sr-only {
      position: absolute !important;
      width: 1px !important;
      height: 1px !important;
      padding: 0 !important;
      margin: -1px !important;
      overflow: hidden !important;
      clip: rect(0, 0, 0, 0) !important;
      white-space: nowrap !important;
      border: 0 !important;
    }
    .action-confirm-panel { width: min(34rem, 100%); }
    .action-confirm-heading {
      display: flex;
      align-items: flex-start;
      gap: 0.7rem;
      margin-bottom: 0.8rem;
    }
    .action-confirm-heading h3 { margin-bottom: 0.18rem; }
    .action-confirm-heading p { margin: 0; }
    .action-confirm-icon {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      flex: 0 0 auto;
      width: 2rem;
      height: 2rem;
      border: 1px solid var(--warn-border);
      border-radius: 50%;
      background: color-mix(in srgb, var(--warn) 12%, transparent);
      color: var(--warn);
      font-weight: 800;
    }
    #action-confirm-modal[data-intent="destructive"] .action-confirm-icon,
    #action-confirm-modal[data-intent="trade"] .action-confirm-icon {
      border-color: var(--danger-border);
      background: var(--err-bg-soft);
      color: var(--err);
    }
    .action-confirm-facts {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 0.45rem;
      margin: 0;
    }
    .action-confirm-facts > div {
      min-width: 0;
      padding: 0.5rem 0.6rem;
      border: 1px solid var(--border);
      border-radius: 8px;
      background: var(--card);
    }
    .action-confirm-facts > div[hidden] { display: none; }
    .action-confirm-facts dt {
      margin-bottom: 0.14rem;
      color: var(--muted);
      font-size: 0.67rem;
      font-weight: 700;
      letter-spacing: 0.04em;
      text-transform: uppercase;
    }
    #action-confirm-place-mode-row,
    #action-confirm-qty-mode-row { grid-column: 1 / -1; }
    .action-confirm-mode { display: flex; flex-wrap: wrap; gap: 0.4rem; }
    .action-confirm-mode-btn {
      min-height: 2rem;
      padding: 0.28rem 0.9rem;
      border: 1px solid var(--border);
      border-radius: 8px;
      background: #fff;
      color: var(--text);
      font: inherit;
      font-weight: 600;
      cursor: pointer;
    }
    .action-confirm-mode-btn.is-on,
    .action-confirm-mode-btn[aria-pressed="true"] {
      border-color: var(--accent, #176b53);
      background: var(--accent, #176b53);
      color: #fff;
    }
    .action-confirm-facts dd {
      margin: 0;
      color: var(--text);
      font-size: 0.84rem;
      font-weight: 600;
      overflow-wrap: anywhere;
    }
    .action-confirm-risk {
      margin-top: 0.65rem;
      padding: 0.58rem 0.65rem;
      border: 1px solid var(--warn-border);
      border-radius: 8px;
      background: color-mix(in srgb, var(--warn) 8%, transparent);
      color: var(--warn);
      font-size: 0.78rem;
      line-height: 1.5;
    }
    #action-confirm-modal[data-intent="destructive"] .action-confirm-risk,
    #action-confirm-modal[data-intent="trade"] .action-confirm-risk {
      border-color: var(--danger-border);
      background: var(--err-bg-soft);
      color: var(--err);
    }
    .action-confirm-details {
      margin: 0.6rem 0 0;
      color: var(--muted);
      font-size: 0.75rem;
      line-height: 1.55;
      white-space: pre-wrap;
      overflow-wrap: anywhere;
    }
    .modal-actions {
      display: flex;
      gap: 0.5rem;
      justify-content: flex-end;
      margin-top: 0.85rem;
    }
    .vault-form-grid {
      display: grid;
      gap: 0.5rem;
    }
    .vault-form-grid .ops-field input,
    .vault-form-grid .ops-field textarea {
      width: 100%;
      min-width: 0;
    }
    .vault-form-grid textarea {
      min-height: 4.5rem;
      font-family: ui-monospace, Menlo, monospace;
      font-size: 0.72rem;
    }
    :is(button, input, select, textarea, a, [role="button"]):focus-visible {
      outline: 2px solid var(--accent);
      outline-offset: 2px;
    }
    .account-primary-panel:focus-visible,
    .panel[role="tabpanel"]:focus-visible {
      outline: 2px solid var(--accent);
      outline-offset: 3px;
    }
    #detail:focus-visible {
      outline: none;
      box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--accent) 72%, transparent);
    }
    .sidebar:focus-visible {
      outline: 2px solid var(--accent);
      outline-offset: -3px;
    }
    @media (max-width: 720px) {
      :is(button, [role="button"], [role="tab"], summary) {
        min-height: 44px;
        min-width: 44px;
      }
      :is(button, [role="button"]):has(> svg:only-child),
      button.btn-xs,
      .sym-refresh-btn,
      .market-data-sort-button,
      .market-data-col-sort,
      .market-data-col-filter {
        min-width: 44px;
      }
      :is(input:not([type="checkbox"]):not([type="radio"]), select, textarea) {
        min-height: 44px;
      }
      .tab,
      .account-subtab,
      .config-subtabs .tab,
      .sym-menu-panel button,
      .modal-actions button,
      .drawer-head button,
      .row-actions button,
      button.btn-xs {
        min-height: 44px;
        padding-top: 0.55rem;
        padding-bottom: 0.55rem;
      }
      .action-confirm-facts { grid-template-columns: 1fr; }
      .detail-head-actions {
        width: 100%;
        justify-content: stretch;
      }
      .detail-head-actions > button { flex: 1 1 auto; }
      .tabs.account-primary-tabs .tab {
        flex: 0 0 auto;
        min-height: 44px;
        min-width: 4.35rem;
      }
      .account-action-stage { padding: 0.65rem; }
      .account-action-stage-head { align-items: flex-start; }
      .action-cluster,
      .risk-action-group { width: 100%; }
      .action-cluster-inline,
      .risk-action-group-inline { width: auto; }
      .ops-action-grid { grid-template-columns: 1fr; }
      .pre-order-toolbar > .action-cluster,
      .pre-order-toolbar > .risk-action-group,
      .ssh-pm2-batch-actions > .action-cluster,
      .ssh-pm2-batch-actions > .risk-action-group,
      .hodl-batch-actions > .action-cluster,
      .hodl-batch-actions > .risk-action-group {
        flex-basis: 100%;
      }
      .tech-details-block { width: 100%; }
    }

/* ========================================================================== */
/* Axiom V2 · Trading Operations command surface                              */
/* ========================================================================== */

html[data-ui-version="2"][data-theme="command"] {
  color-scheme: dark;
  --bg: #080b11;
  --panel: #101722;
  --card: #151e2b;
  --surface-elevated: #192536;
  --border: #263247;
  --border-strong: #35445d;
  --text: #f1f5fa;
  --muted: #91a0b7;
  --accent: #5b7cfa;
  --accent-hover: #6f8dff;
  --ok: #2dd4bf;
  --warn: #ff9a3d;
  --err: #ff6676;
  --btn-primary-fg: #080b11;
  --hover-bg: rgba(91, 124, 250, 0.075);
  --active-bg: rgba(91, 124, 250, 0.13);
  --menu-hover-bg: rgba(91, 124, 250, 0.09);
  --danger-hover-bg: rgba(255, 102, 118, 0.11);
  --err-bg-soft: rgba(255, 102, 118, 0.08);
  --overlay: rgba(2, 5, 10, 0.78);
  --shadow-md: 0 8px 24px rgba(0, 0, 0, 0.22);
  --shadow-lg: 0 18px 48px rgba(0, 0, 0, 0.32);
  --shadow-drawer: 14px 0 42px rgba(0, 0, 0, 0.34);
  --shadow-modal: 0 26px 80px rgba(0, 0, 0, 0.46);
  --focus-ring: 0 0 0 2px rgba(121, 160, 255, 0.42);
  --row-buy-bg: rgba(45, 212, 191, 0.075);
  --row-buy-bg-hover: rgba(45, 212, 191, 0.12);
  --row-buy-border: rgba(45, 212, 191, 0.22);
  --row-sell-bg: rgba(255, 154, 61, 0.07);
  --row-sell-bg-hover: rgba(255, 154, 61, 0.12);
  --row-sell-border: rgba(255, 154, 61, 0.24);
  --chip-bg: rgba(255, 255, 255, 0.035);
  --ok-border: rgba(45, 212, 191, 0.32);
  --accent-border: rgba(91, 124, 250, 0.38);
  --alert-border: rgba(255, 102, 118, 0.48);
  --alert-shadow: 0 0 0 1px rgba(255, 102, 118, 0.15);
  --warn-border: rgba(255, 154, 61, 0.4);
  --danger-border: rgba(255, 102, 118, 0.4);
  --ok-border-soft: rgba(45, 212, 191, 0.3);
  --accent-bg-soft: rgba(91, 124, 250, 0.07);
  --chrome-topbar: rgba(8, 13, 21, 0.96);
  --chrome-rail: #0b1018;
  --chrome-context: #0e151f;
  --chrome-context-head: rgba(14, 21, 31, 0.96);
  --chrome-mobile-nav: rgba(9, 14, 22, 0.98);
  --surface-input: #0d141f;
  --surface-inset: rgba(8, 13, 21, 0.32);
  --surface-card-soft: rgba(16, 23, 34, 0.74);
  --surface-card-strong: rgba(16, 23, 34, 0.88);
  --surface-modal: #111a27;
  --table-head-bg: #151e2b;
  --table-divider: rgba(38, 50, 71, 0.72);
  --table-hover-bg: rgba(91, 124, 250, 0.045);
  --workspace-grid-line: rgba(255, 255, 255, 0.012);
  --ambient-accent: rgba(91, 124, 250, 0.11);
  --nav-hover-bg: rgba(255, 255, 255, 0.025);
  --nav-active-bg: linear-gradient(90deg, rgba(91, 124, 250, 0.13), rgba(91, 124, 250, 0.035));
  --account-hover-bg: rgba(255, 255, 255, 0.02);
  --account-active-bg: rgba(91, 124, 250, 0.085);
  --account-active-border: rgba(91, 124, 250, 0.24);
  --accent-text: #8fa5ff;
  --status-neutral-ring: rgba(145, 160, 183, 0.1);
  --status-ok-ring: rgba(45, 212, 191, 0.17);
  --status-ok-glow: 0 0 14px rgba(45, 212, 191, 0.26);
  --status-error-ring: rgba(255, 102, 118, 0.12);
  --warn-bg-soft: rgba(255, 154, 61, 0.08);
  --risk-group-bg: rgba(255, 154, 61, 0.045);
  --scrim-bg: rgba(2, 5, 10, 0.62);
  --market-buy: #2dd4bf;
  --market-sell: #ff6676;
  --chart-text: #b7c2d2;
  --chart-grid: rgba(145, 160, 183, 0.16);
  --chart-reference: #91a0b7;
  --chart-1: #6f8dff;
  --chart-2: #2dd4bf;
  --chart-3: #ff9a3d;
  --chart-4: #d77dff;
  --chart-5: #45b9ff;
  --chart-6: #ff6676;
}

html[data-ui-version="2"][data-theme="day"] {
  color-scheme: light;
  --bg: #f4f7fb;
  --panel: #ffffff;
  --card: #ffffff;
  --surface-elevated: #f0f4fa;
  --border: #d8e0ec;
  --border-strong: #bcc8d8;
  --text: #172033;
  --muted: #5f6d82;
  --accent: #3159d6;
  --accent-hover: #274bc0;
  --ok: #087867;
  --warn: #995400;
  --err: #c0364a;
  --btn-primary-fg: #ffffff;
  --hover-bg: rgba(49, 89, 214, 0.07);
  --active-bg: rgba(49, 89, 214, 0.11);
  --menu-hover-bg: rgba(49, 89, 214, 0.08);
  --danger-hover-bg: rgba(192, 54, 74, 0.08);
  --err-bg-soft: rgba(192, 54, 74, 0.07);
  --overlay: rgba(15, 23, 42, 0.32);
  --shadow-md: 0 8px 22px rgba(33, 50, 79, 0.08);
  --shadow-lg: 0 18px 42px rgba(33, 50, 79, 0.12);
  --shadow-drawer: 14px 0 36px rgba(33, 50, 79, 0.13);
  --shadow-modal: 0 26px 64px rgba(33, 50, 79, 0.18);
  --focus-ring: 0 0 0 2px rgba(49, 89, 214, 0.24);
  --row-buy-bg: rgba(8, 120, 103, 0.07);
  --row-buy-bg-hover: rgba(8, 120, 103, 0.12);
  --row-buy-border: rgba(8, 120, 103, 0.2);
  --row-sell-bg: rgba(192, 54, 74, 0.06);
  --row-sell-bg-hover: rgba(192, 54, 74, 0.1);
  --row-sell-border: rgba(192, 54, 74, 0.2);
  --chip-bg: rgba(23, 32, 51, 0.045);
  --ok-border: rgba(8, 120, 103, 0.3);
  --accent-border: rgba(49, 89, 214, 0.31);
  --alert-border: rgba(192, 54, 74, 0.4);
  --alert-shadow: 0 0 0 1px rgba(192, 54, 74, 0.12);
  --warn-border: rgba(153, 84, 0, 0.34);
  --danger-border: rgba(192, 54, 74, 0.34);
  --ok-border-soft: rgba(8, 120, 103, 0.28);
  --accent-bg-soft: rgba(49, 89, 214, 0.07);
  --chrome-topbar: rgba(255, 255, 255, 0.94);
  --chrome-rail: #f8faff;
  --chrome-context: #f6f9fd;
  --chrome-context-head: rgba(246, 249, 253, 0.96);
  --chrome-mobile-nav: rgba(255, 255, 255, 0.97);
  --surface-input: #f7f9fc;
  --surface-inset: #f3f6fa;
  --surface-card-soft: rgba(255, 255, 255, 0.82);
  --surface-card-strong: rgba(255, 255, 255, 0.94);
  --surface-modal: #ffffff;
  --table-head-bg: #f1f5fa;
  --table-divider: rgba(188, 200, 216, 0.72);
  --table-hover-bg: rgba(49, 89, 214, 0.05);
  --workspace-grid-line: rgba(49, 89, 214, 0.035);
  --ambient-accent: rgba(49, 89, 214, 0.07);
  --nav-hover-bg: rgba(49, 89, 214, 0.05);
  --nav-active-bg: linear-gradient(90deg, rgba(49, 89, 214, 0.1), rgba(49, 89, 214, 0.025));
  --account-hover-bg: rgba(49, 89, 214, 0.045);
  --account-active-bg: rgba(49, 89, 214, 0.075);
  --account-active-border: rgba(49, 89, 214, 0.26);
  --accent-text: #294bb8;
  --status-neutral-ring: rgba(95, 109, 130, 0.14);
  --status-ok-ring: rgba(8, 120, 103, 0.16);
  --status-ok-glow: none;
  --status-error-ring: rgba(192, 54, 74, 0.14);
  --warn-bg-soft: rgba(153, 84, 0, 0.07);
  --risk-group-bg: rgba(153, 84, 0, 0.055);
  --scrim-bg: rgba(15, 23, 42, 0.28);
  --market-buy: #087867;
  --market-sell: #c0364a;
  --chart-text: #445269;
  --chart-grid: rgba(95, 109, 130, 0.18);
  --chart-reference: #68768b;
  --chart-1: #3159d6;
  --chart-2: #087867;
  --chart-3: #995400;
  --chart-4: #7c3faf;
  --chart-5: #075f96;
  --chart-6: #c0364a;
}

html[data-ui-version="2"][data-theme="paper"] {
  color-scheme: light;
  --bg: #f7f3ea;
  --panel: #fffdf8;
  --card: #fffdf8;
  --surface-elevated: #f3ede2;
  --border: #ddd4c4;
  --border-strong: #c8baa5;
  --text: #3d3428;
  --muted: #74695a;
  --accent: #9a4d0b;
  --accent-hover: #7f3f09;
  --ok: #2f6b3a;
  --warn: #8b5500;
  --err: #b42318;
  --btn-primary-fg: #fffdf8;
  --hover-bg: rgba(154, 77, 11, 0.07);
  --active-bg: rgba(154, 77, 11, 0.11);
  --menu-hover-bg: rgba(154, 77, 11, 0.08);
  --danger-hover-bg: rgba(180, 35, 24, 0.08);
  --err-bg-soft: rgba(180, 35, 24, 0.07);
  --overlay: rgba(61, 52, 40, 0.3);
  --shadow-md: 0 8px 22px rgba(61, 52, 40, 0.08);
  --shadow-lg: 0 18px 42px rgba(61, 52, 40, 0.12);
  --shadow-drawer: 14px 0 36px rgba(61, 52, 40, 0.13);
  --shadow-modal: 0 26px 64px rgba(61, 52, 40, 0.18);
  --focus-ring: 0 0 0 2px rgba(154, 77, 11, 0.22);
  --row-buy-bg: rgba(47, 107, 58, 0.07);
  --row-buy-bg-hover: rgba(47, 107, 58, 0.12);
  --row-buy-border: rgba(47, 107, 58, 0.2);
  --row-sell-bg: rgba(180, 35, 24, 0.06);
  --row-sell-bg-hover: rgba(180, 35, 24, 0.1);
  --row-sell-border: rgba(180, 35, 24, 0.2);
  --chip-bg: rgba(61, 52, 40, 0.05);
  --ok-border: rgba(47, 107, 58, 0.3);
  --accent-border: rgba(154, 77, 11, 0.31);
  --alert-border: rgba(180, 35, 24, 0.4);
  --alert-shadow: 0 0 0 1px rgba(180, 35, 24, 0.12);
  --warn-border: rgba(139, 85, 0, 0.34);
  --danger-border: rgba(180, 35, 24, 0.34);
  --ok-border-soft: rgba(47, 107, 58, 0.28);
  --accent-bg-soft: rgba(154, 77, 11, 0.07);
  --chrome-topbar: rgba(255, 253, 248, 0.95);
  --chrome-rail: #f3eee4;
  --chrome-context: #faf6ee;
  --chrome-context-head: rgba(250, 246, 238, 0.96);
  --chrome-mobile-nav: rgba(255, 253, 248, 0.97);
  --surface-input: #faf7f0;
  --surface-inset: #f4eee4;
  --surface-card-soft: rgba(255, 253, 248, 0.84);
  --surface-card-strong: rgba(255, 253, 248, 0.95);
  --surface-modal: #fffdf8;
  --table-head-bg: #f3ede2;
  --table-divider: rgba(200, 186, 165, 0.7);
  --table-hover-bg: rgba(154, 77, 11, 0.05);
  --workspace-grid-line: rgba(154, 77, 11, 0.032);
  --ambient-accent: rgba(154, 77, 11, 0.055);
  --nav-hover-bg: rgba(154, 77, 11, 0.045);
  --nav-active-bg: linear-gradient(90deg, rgba(154, 77, 11, 0.09), rgba(154, 77, 11, 0.02));
  --account-hover-bg: rgba(154, 77, 11, 0.04);
  --account-active-bg: rgba(154, 77, 11, 0.07);
  --account-active-border: rgba(154, 77, 11, 0.25);
  --accent-text: #7f3f09;
  --status-neutral-ring: rgba(116, 105, 90, 0.14);
  --status-ok-ring: rgba(47, 107, 58, 0.16);
  --status-ok-glow: none;
  --status-error-ring: rgba(180, 35, 24, 0.14);
  --warn-bg-soft: rgba(139, 85, 0, 0.07);
  --risk-group-bg: rgba(139, 85, 0, 0.05);
  --scrim-bg: rgba(61, 52, 40, 0.26);
  --market-buy: #2f6b3a;
  --market-sell: #b42318;
  --chart-text: #5f5548;
  --chart-grid: rgba(116, 105, 90, 0.2);
  --chart-reference: #7a6f5f;
  --chart-1: #9a4d0b;
  --chart-2: #2f6b3a;
  --chart-3: #8b5500;
  --chart-4: #7d487f;
  --chart-5: #27637a;
  --chart-6: #b42318;
}

html[data-ui-version="2"][data-theme="slate"] {
  color-scheme: light;
  --bg: #e9eef5;
  --panel: #f4f7fb;
  --card: #ffffff;
  --surface-elevated: #e4ebf3;
  --border: #cbd5e1;
  --border-strong: #aebdce;
  --text: #152033;
  --muted: #59697e;
  --accent: #075f96;
  --accent-hover: #064e7c;
  --ok: #04735f;
  --warn: #8f4e00;
  --err: #b72c4f;
  --btn-primary-fg: #ffffff;
  --hover-bg: rgba(7, 95, 150, 0.07);
  --active-bg: rgba(7, 95, 150, 0.11);
  --menu-hover-bg: rgba(7, 95, 150, 0.08);
  --danger-hover-bg: rgba(183, 44, 79, 0.08);
  --err-bg-soft: rgba(183, 44, 79, 0.07);
  --overlay: rgba(21, 32, 51, 0.32);
  --shadow-md: 0 8px 22px rgba(31, 49, 75, 0.09);
  --shadow-lg: 0 18px 42px rgba(31, 49, 75, 0.13);
  --shadow-drawer: 14px 0 36px rgba(31, 49, 75, 0.14);
  --shadow-modal: 0 26px 64px rgba(31, 49, 75, 0.19);
  --focus-ring: 0 0 0 2px rgba(7, 95, 150, 0.22);
  --row-buy-bg: rgba(4, 115, 95, 0.07);
  --row-buy-bg-hover: rgba(4, 115, 95, 0.12);
  --row-buy-border: rgba(4, 115, 95, 0.2);
  --row-sell-bg: rgba(183, 44, 79, 0.06);
  --row-sell-bg-hover: rgba(183, 44, 79, 0.1);
  --row-sell-border: rgba(183, 44, 79, 0.2);
  --chip-bg: rgba(21, 32, 51, 0.045);
  --ok-border: rgba(4, 115, 95, 0.3);
  --accent-border: rgba(7, 95, 150, 0.31);
  --alert-border: rgba(183, 44, 79, 0.4);
  --alert-shadow: 0 0 0 1px rgba(183, 44, 79, 0.12);
  --warn-border: rgba(143, 78, 0, 0.34);
  --danger-border: rgba(183, 44, 79, 0.34);
  --ok-border-soft: rgba(4, 115, 95, 0.28);
  --accent-bg-soft: rgba(7, 95, 150, 0.07);
  --chrome-topbar: rgba(244, 247, 251, 0.95);
  --chrome-rail: #e4ebf3;
  --chrome-context: #edf2f7;
  --chrome-context-head: rgba(237, 242, 247, 0.96);
  --chrome-mobile-nav: rgba(244, 247, 251, 0.97);
  --surface-input: #f6f8fb;
  --surface-inset: #e9eef5;
  --surface-card-soft: rgba(255, 255, 255, 0.8);
  --surface-card-strong: rgba(255, 255, 255, 0.94);
  --surface-modal: #ffffff;
  --table-head-bg: #eaf0f6;
  --table-divider: rgba(174, 189, 206, 0.7);
  --table-hover-bg: rgba(7, 95, 150, 0.05);
  --workspace-grid-line: rgba(7, 95, 150, 0.035);
  --ambient-accent: rgba(7, 95, 150, 0.065);
  --nav-hover-bg: rgba(7, 95, 150, 0.05);
  --nav-active-bg: linear-gradient(90deg, rgba(7, 95, 150, 0.1), rgba(7, 95, 150, 0.025));
  --account-hover-bg: rgba(7, 95, 150, 0.045);
  --account-active-bg: rgba(7, 95, 150, 0.075);
  --account-active-border: rgba(7, 95, 150, 0.26);
  --accent-text: #07517f;
  --status-neutral-ring: rgba(89, 105, 126, 0.14);
  --status-ok-ring: rgba(4, 115, 95, 0.16);
  --status-ok-glow: none;
  --status-error-ring: rgba(183, 44, 79, 0.14);
  --warn-bg-soft: rgba(143, 78, 0, 0.07);
  --risk-group-bg: rgba(143, 78, 0, 0.05);
  --scrim-bg: rgba(21, 32, 51, 0.28);
  --market-buy: #04735f;
  --market-sell: #b72c4f;
  --chart-text: #425168;
  --chart-grid: rgba(89, 105, 126, 0.2);
  --chart-reference: #66768b;
  --chart-1: #075f96;
  --chart-2: #04735f;
  --chart-3: #8f4e00;
  --chart-4: #7042a3;
  --chart-5: #2563a8;
  --chart-6: #b72c4f;
}

body.v2-app {
  --v2-rail-width: 208px;
  --v2-context-width: 286px;
  --v2-topbar-height: 72px;
  --v2-radius: 5px;
  --v2-radius-sm: 3px;
  --v2-control-height: 36px;
  --v2-font-ui: "Inter", "SF Pro Text", "PingFang SC", system-ui, sans-serif;
  --v2-font-num: "SFMono-Regular", "Roboto Mono", "Cascadia Code", Menlo, monospace;
  min-height: 100vh;
  height: 100dvh;
  overflow: hidden;
  background:
    radial-gradient(circle at 72% -20%, var(--ambient-accent), transparent 34rem),
    var(--bg);
  font-family: var(--v2-font-ui);
  letter-spacing: 0.002em;
}

.v2-app [hidden] {
  display: none !important;
}

.v2-app .skip-link {
  position: fixed;
  z-index: 1000;
  top: 0.5rem;
  left: 0.5rem;
  transform: translateY(-160%);
  padding: 0.55rem 0.75rem;
  border: 1px solid var(--accent);
  border-radius: var(--v2-radius-sm);
  background: var(--surface-elevated, var(--card));
  color: var(--text);
}

.v2-app .skip-link:focus {
  transform: translateY(0);
}

.v2-app > .v2-topbar {
  min-height: var(--v2-topbar-height);
  padding: 0 1rem 0 0;
  display: grid;
  grid-template-columns: var(--v2-rail-width) minmax(230px, 360px) minmax(120px, 1fr) auto;
  align-items: stretch;
  gap: 0;
  border-bottom: 1px solid var(--border);
  background: var(--chrome-topbar);
  backdrop-filter: blur(18px);
}

.v2-app .v2-brand {
  display: flex;
  align-items: center;
  gap: 0.7rem;
  min-width: 0;
  padding: 0 1rem;
  border-right: 1px solid var(--border);
  background: var(--chrome-rail);
}

.v2-app .v2-brand-mark {
  position: relative;
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  border: 1px solid var(--border-strong, var(--border));
  border-radius: var(--v2-radius-sm);
  background: linear-gradient(145deg, color-mix(in srgb, var(--accent) 18%, transparent), color-mix(in srgb, var(--ok) 5%, transparent));
  color: var(--accent);
}

.v2-app .v2-brand-mark::after {
  content: "";
  position: absolute;
  inset: -1px auto -1px -1px;
  width: 2px;
  background: var(--accent);
}

.v2-app .v2-brand-mark svg {
  width: 25px;
  height: 25px;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: square;
  stroke-linejoin: miter;
}

.v2-app .v2-brand-copy {
  display: grid;
  min-width: 0;
  line-height: 1;
}

.v2-app .v2-brand-copy strong {
  margin-top: 0.28rem;
  overflow: hidden;
  color: var(--text);
  font-size: 1.03rem;
  font-weight: 720;
  letter-spacing: 0.11em;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}

.v2-app .v2-brand-eyebrow,
.v2-app .v2-context-eyebrow,
.v2-app .v2-workspace-kicker,
.v2-app .rail-eyebrow,
.v2-app .v2-metric-note,
.v2-app .v2-product-nav-heading span {
  color: var(--muted);
  font-family: var(--v2-font-num);
  font-size: 0.61rem;
  font-weight: 650;
  letter-spacing: 0.1em;
  line-height: 1.2;
  text-transform: uppercase;
}

.v2-app .v2-account-context,
.v2-app .v2-command-context {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
  padding: 0.65rem 1rem;
  border-right: 1px solid var(--border);
}

.v2-app .v2-account-picker {
  display: flex;
  align-items: center;
  min-width: 0;
  margin-top: 0.16rem;
}

.v2-app .v2-account-status-dot,
.v2-app .v2-inline-status {
  display: inline-block;
  width: 7px;
  height: 7px;
  flex: 0 0 7px;
  border-radius: 50%;
  background: var(--muted);
  box-shadow: 0 0 0 3px var(--status-neutral-ring);
}

.v2-app .v2-account-status-dot.ok,
.v2-app .v2-inline-status.ok {
  background: var(--ok);
  box-shadow: 0 0 0 3px var(--status-ok-ring), var(--status-ok-glow);
}

.v2-app .v2-account-status-dot.error,
.v2-app .v2-inline-status.error {
  background: var(--err);
  box-shadow: 0 0 0 3px var(--status-error-ring);
}

.v2-app .v2-account-status-dot.loading {
  background: var(--warn);
  animation: v2-status-pulse 1.4s ease-in-out infinite;
}

@keyframes v2-status-pulse {
  50% { opacity: 0.4; }
}

.v2-app .v2-account-trigger {
  display: grid;
  grid-template-columns: 9px minmax(0, 1fr) 18px;
  align-items: center;
  gap: 0.62rem;
  width: min(100%, 19rem);
  min-width: 0;
  min-height: 38px;
  padding: 0.22rem 0.35rem 0.22rem 0.15rem;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--text);
  text-align: left;
}

.v2-app .v2-account-trigger:hover:not(:disabled),
.v2-app .v2-account-trigger.active {
  border-color: transparent;
  background: var(--hover-bg);
}

.v2-app .v2-account-trigger:focus-visible {
  border-radius: var(--v2-radius-sm);
  outline-offset: 1px;
}

.v2-app .v2-account-trigger-copy {
  display: grid;
  min-width: 0;
  line-height: 1.16;
}

.v2-app .v2-account-trigger-copy strong,
.v2-app .v2-account-trigger-copy > span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.v2-app .v2-account-trigger-copy strong {
  color: var(--text);
  font-size: 0.8rem;
  font-weight: 680;
}

.v2-app .v2-account-trigger-copy > span {
  min-height: 0.76rem;
  margin-top: 0.12rem;
  color: var(--muted);
  font-family: var(--v2-font-num);
  font-size: 0.61rem;
}

.v2-app .v2-account-chevron {
  width: 18px;
  height: 18px;
  stroke: var(--muted);
  stroke-width: 1.8;
  transition: transform 140ms ease;
}

.v2-app .v2-account-trigger.active .v2-account-chevron {
  transform: rotate(180deg);
}

.v2-app .v2-icon-button {
  display: inline-grid;
  place-items: center;
  width: var(--v2-control-height);
  min-width: var(--v2-control-height);
  height: var(--v2-control-height);
  padding: 0;
}

.v2-app .v2-icon-button svg,
.v2-app .v2-button-icon {
  width: 1rem;
  height: 1rem;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: square;
  stroke-linejoin: miter;
}

.v2-app .v2-icon-button.active {
  border-color: var(--accent);
  background: var(--active-bg);
  color: var(--accent);
}

.v2-app .v2-command-context strong {
  margin-top: 0.28rem;
  overflow: hidden;
  color: var(--text);
  font-size: 0.82rem;
  font-weight: 650;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.v2-app .header-actions.v2-command-actions {
  display: flex;
  align-items: center;
  align-self: center;
  gap: 0.55rem;
  padding-left: 1rem;
  flex-wrap: nowrap;
}

.v2-app .v2-system-status {
  position: relative;
  max-width: 13rem;
  padding-left: 0.72rem;
  overflow: hidden;
  font-family: var(--v2-font-num);
  font-size: 0.66rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.v2-app .v2-system-status::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: var(--ok);
  transform: translateY(-50%);
}

.v2-app .theme-switch[hidden] { display: none !important; }

.v2-app .v2-theme-cycle {
  display: none;
  place-items: center;
  width: var(--v2-control-height);
  min-width: var(--v2-control-height);
  padding: 0;
}

.v2-app button,
.v2-app input,
.v2-app select,
.v2-app textarea {
  font-family: inherit;
}

.v2-app button {
  min-height: var(--v2-control-height);
  border: 1px solid var(--accent);
  border-radius: var(--v2-radius-sm);
  background: var(--accent);
  box-shadow: none;
  font-weight: 620;
  letter-spacing: 0.015em;
  transition: border-color 130ms ease, background-color 130ms ease, color 130ms ease;
}

.v2-app button:hover:not(:disabled) {
  border-color: var(--accent-hover, var(--accent));
  background: var(--accent-hover, var(--accent));
}

.v2-app button.btn-ghost {
  border-color: var(--border-strong, var(--border));
  border-radius: var(--v2-radius-sm);
  background: var(--card);
  color: var(--muted);
}

.v2-app button.btn-ghost:hover:not(:disabled) {
  border-color: var(--accent);
  background: var(--hover-bg);
  color: var(--text);
}

.v2-app button.btn-danger {
  border-color: var(--err);
  background: transparent;
  color: var(--err);
}

.v2-app button.btn-warn,
.v2-app button.btn-ghost.btn-warn {
  border-color: var(--warn-border);
  background: var(--warn-bg-soft);
  color: var(--warn);
}

.v2-app input:not([type="checkbox"]):not([type="radio"]),
.v2-app select,
.v2-app textarea {
  min-height: var(--v2-control-height);
  border: 1px solid var(--border-strong, var(--border));
  border-radius: var(--v2-radius-sm);
  background: var(--surface-input);
  color: var(--text);
}

.v2-app input::placeholder,
.v2-app textarea::placeholder {
  color: color-mix(in srgb, var(--muted) 68%, transparent);
}

.v2-app .v2-shell {
  position: relative;
  display: flex;
  flex: 1;
  min-width: 0;
  min-height: 0;
  background: transparent;
}

.v2-app #workbar-rail.v2-product-rail {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0.16rem;
  width: var(--v2-rail-width);
  flex: 0 0 var(--v2-rail-width);
  min-height: 0;
  padding: 1.05rem 0.7rem 0.8rem;
  overflow: hidden;
  border-right: 1px solid var(--border);
  background: var(--chrome-rail);
}

.v2-app #workbar-rail[hidden] {
  display: none !important;
}

.v2-app .v2-product-nav-heading {
  display: grid;
  gap: 0.16rem;
  padding: 0.15rem 0.65rem 0.85rem;
}

.v2-app .v2-product-nav-heading strong {
  color: var(--text);
  font-size: 0.78rem;
  font-weight: 650;
}

.v2-app #workbar-rail .rail-item {
  position: relative;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 0.72rem;
  width: 100%;
  min-height: 52px;
  padding: 0.52rem 0.66rem;
  overflow: hidden;
  border: 1px solid transparent;
  border-radius: var(--v2-radius-sm);
  background: transparent;
  color: var(--muted);
  text-align: left;
}

.v2-app #workbar-rail .rail-item::before {
  content: "";
  position: absolute;
  inset: 8px auto 8px 0;
  width: 2px;
  background: transparent;
}

.v2-app #workbar-rail .rail-item:hover:not(:disabled) {
  border-color: var(--border);
  background: var(--nav-hover-bg);
  color: var(--text);
}

.v2-app #workbar-rail .rail-item.active,
.v2-app #workbar-rail .rail-item.context-active {
  border-color: var(--accent-border);
  background: var(--nav-active-bg);
  color: var(--text);
}

.v2-app #workbar-rail .rail-item.active::before,
.v2-app #workbar-rail .rail-item.context-active::before {
  background: var(--accent);
}

.v2-app #workbar-rail .rail-glyph {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  flex: 0 0 30px;
  border: 1px solid var(--border);
  border-radius: 2px;
  background: var(--nav-hover-bg);
  color: var(--muted);
}

.v2-app #workbar-rail .rail-item.active .rail-glyph,
.v2-app #workbar-rail .rail-item.context-active .rail-glyph {
  border-color: var(--accent-border);
  background: var(--accent-bg-soft);
  color: var(--accent-text);
}

.v2-app #workbar-rail .rail-copy {
  display: grid;
  min-width: 0;
  gap: 0.16rem;
}

.v2-app #workbar-rail .rail-label {
  overflow: hidden;
  color: inherit;
  font-size: 0.78rem;
  font-weight: 630;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.v2-app #workbar-rail .rail-spacer {
  flex: 1;
  min-height: 0.65rem;
}

.v2-app #workbar-rail .v2-product-utility {
  border-top-color: var(--border);
}

.v2-app #workbar-panel.v2-context-panel {
  width: var(--v2-context-width);
  flex: 0 0 var(--v2-context-width);
  min-height: 0;
  overflow-y: auto;
  border-right: 1px solid var(--border);
  background: var(--chrome-context);
}

.v2-app .shell.workbar-collapsed > #workbar-panel {
  display: none;
}

.v2-app .v2-context-head {
  position: sticky;
  z-index: 4;
  top: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  min-height: 72px;
  padding: 0.85rem 0.8rem 0.75rem 1rem;
  border-bottom: 1px solid var(--border);
  background: var(--chrome-context-head);
  backdrop-filter: blur(14px);
}

.v2-app .v2-context-head h2,
.v2-app .sidebar .v2-context-head h2 {
  margin: 0.22rem 0 0;
  padding: 0;
  color: var(--text);
  font-size: 0.91rem;
  font-weight: 650;
  letter-spacing: 0;
  text-transform: none;
}

.v2-app .v2-context-head-actions {
  display: flex;
  gap: 0.38rem;
}

.v2-app .v2-context-nav {
  padding: 0.55rem 0.55rem 1rem;
}

.v2-app .workbar-group {
  margin: 0.55rem 0 0.25rem;
  padding: 0.3rem 0.55rem;
  color: var(--muted);
  font-family: var(--v2-font-num);
  font-size: 0.59rem;
  font-weight: 650;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

.v2-app .acc-item-row {
  position: relative;
  display: flex;
  align-items: stretch;
  margin: 0.18rem 0;
  overflow: visible;
  border: 1px solid transparent;
  border-radius: var(--v2-radius-sm);
  background: transparent;
}

.v2-app .acc-item-row:focus-within {
  z-index: 8;
}

.v2-app .acc-item-row::before {
  content: "";
  position: absolute;
  inset: 7px auto 7px 0;
  z-index: 1;
  width: 2px;
  background: transparent;
}

.v2-app .acc-item-row:hover {
  border-color: var(--border);
  background: var(--account-hover-bg);
}

.v2-app .acc-item-row.active {
  border-color: var(--account-active-border);
  border-left-width: 1px;
  background: var(--account-active-bg);
  box-shadow: none;
}

.v2-app .acc-item-row.active::before {
  background: var(--accent);
}

.v2-app .acc-item-row.active .acc-item {
  padding-left: 0.8rem;
}

.v2-app .acc-item {
  min-height: 70px;
  padding: 0.62rem 0.68rem;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.v2-app .acc-item:hover:not(:disabled) {
  border-color: transparent;
  background: transparent;
}

.v2-app .acc-item .acc-line {
  gap: 0.34rem;
}

.v2-app .acc-item .acc-identity {
  display: grid;
  gap: 0.18rem;
}

.v2-app .acc-item .acc-title-line {
  display: flex;
  align-items: center;
  gap: 0.48rem;
  min-width: 0;
}

.v2-app .acc-item .acc-alias {
  min-width: 0;
  overflow: hidden;
  color: var(--text);
  font-family: var(--v2-font-ui);
  font-size: 0.8rem;
  font-weight: 660;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.v2-app .acc-item .acc-vault {
  display: block;
  padding-left: 1.08rem;
  color: var(--muted);
  line-height: 1.25;
}

.v2-app .acc-item .acc-metrics {
  justify-content: space-between;
  gap: 0.4rem;
  padding-left: 1.08rem;
  flex-wrap: nowrap;
}

.v2-app .acc-item .acc-vault,
.v2-app .acc-item .acc-metrics,
.v2-app .acc-item .acc-mmr,
.v2-app .acc-item .acc-pos {
  font-family: var(--v2-font-num);
  font-size: 0.67rem;
}

.v2-app .acc-item .acc-pos { color: var(--muted); }
.v2-app .acc-item .acc-mmr.ok { color: var(--ok); }
.v2-app .acc-item .acc-mmr.warn { color: var(--warn); }
.v2-app .acc-item .acc-mmr.danger { color: var(--err); }
.v2-app .acc-item .acc-mmr.unavailable { color: var(--muted); }

.v2-app .acc-actions {
  position: relative;
  display: flex;
  align-self: center;
  flex: 0 0 auto;
}

.v2-app .acc-more-button {
  display: inline-grid;
  place-items: center;
  width: 34px;
  min-width: 34px;
  height: 34px;
  margin-right: 0.3rem;
  padding: 0;
  opacity: 0.58;
}

.v2-app .acc-more-button svg {
  width: 18px;
  height: 18px;
  fill: currentColor;
}

.v2-app .acc-item-row:is(:hover, :focus-within, .active) .acc-more-button {
  opacity: 1;
}

.v2-app .acc-action-menu {
  position: absolute;
  z-index: 30;
  top: calc(100% + 0.28rem);
  right: 0.3rem;
  width: 9.5rem;
  padding: 0.3rem;
  border: 1px solid var(--border-strong, var(--border));
  border-radius: var(--v2-radius-sm);
  background: var(--surface-modal);
  box-shadow: var(--shadow-lg);
}

.v2-app .acc-action-menu-item {
  display: block;
  width: 100%;
  min-height: 36px;
  padding: 0.42rem 0.58rem;
  border: 0;
  background: transparent;
  color: var(--text);
  font-size: 0.72rem;
  text-align: left;
}

.v2-app .acc-action-menu-item:hover:not(:disabled),
.v2-app .acc-action-menu-item:focus-visible {
  background: var(--menu-hover-bg);
}

.v2-app .sidebar .acc-item.global-nav {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  min-height: 42px;
  margin: 0.12rem 0;
  padding: 0.5rem 0.72rem;
  border: 1px solid transparent;
  border-radius: var(--v2-radius-sm);
  color: var(--muted);
  font-size: 0.74rem;
  font-weight: 580;
}

.v2-app .sidebar .acc-item.global-nav::before {
  content: "";
  width: 4px;
  height: 4px;
  margin-right: 0.65rem;
  flex: 0 0 4px;
  background: var(--border-strong, var(--border));
}

.v2-app .sidebar .acc-item.global-nav:hover {
  border-color: var(--border);
  background: var(--nav-hover-bg);
}

.v2-app .sidebar .acc-item.global-nav.active {
  padding-left: 0.72rem;
  border-color: var(--accent-border);
  border-left-width: 1px;
  background: var(--active-bg);
  box-shadow: none;
  color: var(--text);
}

.v2-app .sidebar .acc-item.global-nav.active::before {
  background: var(--accent);
  box-shadow: 0 0 10px color-mix(in srgb, var(--accent) 50%, transparent);
}

.v2-app #detail.v2-workspace {
  flex: 1 1 auto;
  min-width: 0;
  width: auto;
  padding: 1.45rem 1.6rem 2.25rem;
  overflow: auto;
  background:
    linear-gradient(var(--workspace-grid-line) 1px, transparent 1px),
    linear-gradient(90deg, var(--workspace-grid-line) 1px, transparent 1px),
    transparent;
  background-size: 32px 32px;
}

.v2-app .detail-head {
  display: flex;
  align-items: flex-end;
  gap: 1.25rem;
  margin: 0 0 1.15rem;
  padding: 0 0 1rem;
  border: 0;
  border-bottom: 1px solid var(--border);
  border-radius: 0;
  background: transparent;
}

.v2-app .v2-workspace-heading h1 {
  margin: 0.18rem 0 0;
  color: var(--text);
  font-size: clamp(1.55rem, 2.2vw, 2.15rem);
  font-weight: 660;
  letter-spacing: -0.035em;
  line-height: 1.1;
}

.v2-app .v2-workspace-account {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  min-width: 0;
  margin: 0.55rem 0 0;
  color: var(--muted);
  font-family: var(--v2-font-num);
  font-size: 0.68rem;
}

.v2-app .v2-workspace-account strong {
  color: var(--text);
  font-size: 0.73rem;
}

.v2-app .v2-workspace-account > span:not(.v2-inline-status) {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.v2-app .v2-account-path-separator {
  color: var(--border-strong, var(--border));
}

.v2-app .v2-workspace-account-name {
  min-width: 0;
  max-width: min(32rem, 45vw);
}

.v2-app .account-freshness,
.v2-app .account-mode-badge {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  padding: 0.18rem 0.45rem;
  border: 1px solid var(--border);
  border-radius: 999px;
  background: var(--chip-bg);
  color: var(--muted);
  font-size: 0.62rem;
  white-space: nowrap;
}

.v2-app .account-freshness::before {
  content: "";
  width: 5px;
  height: 5px;
  margin-right: 0.34rem;
  border-radius: 50%;
  background: var(--ok);
}

.v2-app .account-freshness.warn,
.v2-app .account-mode-badge.warn { border-color: var(--warn-border); color: var(--warn); }
.v2-app .account-freshness.warn::before { background: var(--warn); }
.v2-app .account-freshness.error,
.v2-app .account-mode-badge.danger { border-color: var(--danger-border); color: var(--err); }
.v2-app .account-freshness.error::before { background: var(--err); }
.v2-app .account-freshness.loading::before {
  background: var(--warn);
  animation: v2-status-pulse 1.4s ease-in-out infinite;
}

.v2-app .detail-head-actions {
  gap: 0.5rem;
}

.v2-app .account-primary-action {
  min-height: 38px;
  border-radius: var(--v2-radius-sm);
  box-shadow: none;
}

.v2-app .account-primary-action:hover:not(:disabled) {
  background: var(--accent-hover, var(--accent));
}

.v2-app .v2-metric-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0 0 1rem;
  border: 1px solid var(--border);
  border-radius: var(--v2-radius);
  background: var(--surface-card-soft);
}

.v2-app .v2-metric {
  position: relative;
  display: grid;
  min-width: 0;
  min-height: 106px;
  align-content: center;
  gap: 0.28rem;
  padding: 0.9rem 1rem;
  border-right: 1px solid var(--border);
}

.v2-app .v2-metric:last-child {
  border-right: 0;
}

.v2-app .v2-metric::after {
  content: "";
  position: absolute;
  inset: auto 1rem 0;
  height: 2px;
  background: var(--border-strong, var(--border));
}

.v2-app .v2-metric.ok::after { background: var(--ok); }
.v2-app .v2-metric.warn::after { background: var(--warn); }
.v2-app .v2-metric.danger::after { background: var(--err); }
.v2-app .v2-metric.accent::after { background: var(--accent); }

.v2-app .v2-metric-label {
  color: var(--muted);
  font-size: 0.69rem;
}

.v2-app .v2-metric strong {
  overflow: hidden;
  color: var(--text);
  font-family: var(--v2-font-num);
  font-size: clamp(1rem, 1.8vw, 1.42rem);
  font-weight: 580;
  letter-spacing: -0.035em;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.v2-app .v2-metric.ok strong { color: var(--ok); }
.v2-app .v2-metric.warn strong { color: var(--warn); }
.v2-app .v2-metric.danger strong { color: var(--err); }
.v2-app .v2-metric.accent strong { color: var(--accent-text); }

.v2-app .detail-symbol-filter {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  margin: 0 0 0.85rem;
  padding: 0.62rem 0.75rem;
  border: 1px solid var(--border);
  border-radius: var(--v2-radius);
  background: var(--surface-card-strong);
}

.v2-app .detail-symbol-filter > label:first-child {
  color: var(--muted);
  font-family: var(--v2-font-num);
  font-size: 0.62rem;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.v2-app .detail-symbol-filter input[type="text"] {
  height: 34px;
  border-radius: var(--v2-radius-sm);
  background: var(--surface-input);
}

.v2-app .detail-panels-wrap,
.v2-app .account-primary-panel,
.v2-app .panel.active {
  min-width: 0;
}

.v2-app .account-subtabs,
.v2-app .config-subtabs,
.v2-app .tabs {
  display: flex;
  align-items: center;
  gap: 0;
  width: 100%;
  max-width: none;
  margin: 0 0 0.85rem;
  padding: 0;
  overflow-x: auto;
  border: 0;
  border-bottom: 1px solid var(--border);
  border-radius: 0;
  background: transparent;
}

.v2-app .account-subtab,
.v2-app .config-subtabs .tab,
.v2-app .tabs .tab {
  position: relative;
  min-height: 40px;
  margin: 0;
  padding: 0.5rem 0.9rem;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: var(--muted);
  font-size: 0.75rem;
  font-weight: 580;
  white-space: nowrap;
}

.v2-app .account-subtab::after,
.v2-app .config-subtabs .tab::after,
.v2-app .tabs .tab::after {
  content: "";
  position: absolute;
  inset: auto 0 -1px;
  height: 2px;
  background: transparent;
}

.v2-app .account-subtab:hover:not(:disabled),
.v2-app .config-subtabs .tab:hover:not(:disabled),
.v2-app .tabs .tab:hover:not(:disabled) {
  background: var(--hover-bg);
  color: var(--text);
}

.v2-app .account-subtab.active,
.v2-app .config-subtabs .tab.active,
.v2-app .tabs .tab.active {
  border: 0;
  background: var(--accent-bg-soft);
  box-shadow: none;
  color: var(--text);
}

.v2-app .account-subtab.active::after,
.v2-app .config-subtabs .tab.active::after,
.v2-app .tabs .tab.active::after {
  background: var(--accent);
}

.v2-app .block,
.v2-app .ops-sub,
.v2-app .account-action-stage {
  margin-bottom: 0.8rem;
  padding: 0.85rem 0.9rem;
  border: 1px solid var(--border);
  border-radius: var(--v2-radius);
  background: var(--surface-card-strong);
  box-shadow: none;
}

.v2-app .block .block,
.v2-app .block .ops-sub {
  background: var(--surface-inset);
}

.v2-app .block h3,
.v2-app .ops-sub-title {
  margin: -0.1rem 0 0.75rem;
  padding: 0.15rem 0 0.65rem;
  border: 0;
  border-bottom: 1px solid var(--border);
  color: var(--text);
  font-size: 0.78rem;
  font-weight: 630;
  letter-spacing: 0.025em;
  line-height: 1.35;
  text-transform: none;
}

.v2-app .block-toolbar {
  margin: -0.1rem 0 0.75rem;
  padding-bottom: 0.65rem;
  border-bottom: 1px solid var(--border);
}

.v2-app .section-note,
.v2-app .ops-hint {
  color: var(--muted);
  font-size: 0.72rem;
}

.v2-app .ov-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.32fr) minmax(300px, 0.68fr);
  gap: 0.8rem;
  align-items: start;
}

.v2-app .ov-main,
.v2-app .ov-side {
  min-width: 0;
}

.v2-app .table-wrap {
  border: 1px solid var(--border);
  border-radius: var(--v2-radius-sm);
  background: var(--surface-inset);
}

.v2-app table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  font-size: 0.72rem;
}

.v2-app th {
  position: sticky;
  z-index: 2;
  top: 0;
  height: 34px;
  padding: 0.42rem 0.55rem;
  border-bottom: 1px solid var(--border-strong, var(--border));
  background: var(--table-head-bg);
  color: var(--muted);
  font-family: var(--v2-font-num);
  font-size: 0.59rem;
  font-weight: 650;
  letter-spacing: 0.055em;
  text-transform: uppercase;
}

.v2-app td {
  height: 36px;
  padding: 0.42rem 0.55rem;
  border-bottom: 1px solid var(--table-divider);
  color: var(--text);
}

.v2-app tbody tr:last-child td,
.v2-app table > tr:last-child td {
  border-bottom: 0;
}

.v2-app tr:hover > td {
  background: var(--table-hover-bg);
}

.v2-app td.num,
.v2-app th.num,
.v2-app td[data-sort-value],
.v2-app code,
.v2-app pre,
.v2-app .pm-equity-official,
.v2-app .pm-uni-mmr,
.v2-app .status-pill {
  font-family: var(--v2-font-num);
  font-variant-numeric: tabular-nums;
}

.v2-app .status-pill,
.v2-app .pm-status-tag,
.v2-app .acc-mmr {
  border-radius: 2px;
}

.v2-app .chip {
  background: var(--chip-bg);
  color: var(--muted);
}

.v2-app .chip.on {
  border-color: var(--ok-border);
  background: color-mix(in srgb, var(--ok) 10%, transparent);
  color: var(--ok);
}

.v2-app .pm-risk-label {
  margin-left: 0.3rem;
  font-size: 0.72em;
  font-weight: 600;
}

.v2-app .risk-action-group {
  padding: 0.42rem;
  border: 1px solid var(--warn-border);
  border-radius: var(--v2-radius-sm);
  background: var(--risk-group-bg);
}

.v2-app .risk-action-label {
  color: var(--warn);
  font-family: var(--v2-font-num);
  font-size: 0.6rem;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.v2-app .tech-details {
  border-radius: var(--v2-radius-sm);
}

.v2-app .tech-details > summary {
  color: var(--muted);
  font-family: var(--v2-font-num);
  font-size: 0.66rem;
}

.v2-app .action-log-mount {
  margin: 0 0 0.85rem;
}

.v2-app .workspace-state {
  max-width: 34rem;
  margin: clamp(3rem, 12vh, 8rem) auto;
  padding: 2rem;
  border: 1px solid var(--border);
  border-radius: var(--v2-radius);
  background: var(--surface-card-soft);
  text-align: left;
}

.v2-app .workspace-state-mark {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border: 1px solid var(--accent-border);
  border-radius: var(--v2-radius-sm);
  background: var(--accent-bg-soft);
  color: var(--accent);
  font-family: var(--v2-font-num);
  font-size: 0.72rem;
  font-weight: 700;
}

.v2-app .account-boot-card {
  border-radius: var(--v2-radius);
  background: var(--surface-card-strong);
  box-shadow: none;
}

.v2-app .account-boot-ready-mark {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  margin: 0 auto 1rem;
  border: 1px solid var(--accent-border);
  border-radius: var(--v2-radius-sm);
  background: var(--accent-bg-soft);
  color: var(--accent);
}

.v2-app .account-boot-ready-mark .ui-icon {
  width: 1.2rem;
  height: 1.2rem;
}

.v2-app .account-boot-idle .boot-acc-alias {
  color: var(--text);
}

.v2-app .modal-backdrop,
.v2-app .drawer-backdrop {
  backdrop-filter: blur(7px);
}

.v2-app .modal-panel {
  position: relative;
  border-color: var(--border-strong, var(--border));
  border-radius: var(--v2-radius);
  background: var(--surface-modal);
  box-shadow: var(--shadow-modal);
}

.v2-app .modal-panel::before {
  content: "";
  position: absolute;
  inset: -1px -1px auto;
  height: 2px;
  background: var(--accent);
}

.v2-app #action-confirm-modal[data-intent="warning"] .modal-panel::before {
  background: var(--warn);
}

.v2-app #action-confirm-modal[data-intent="destructive"] .modal-panel::before,
.v2-app #action-confirm-modal[data-intent="trade"] .modal-panel::before {
  background: var(--err);
}

.v2-app .action-confirm-icon {
  border-radius: var(--v2-radius-sm);
}

.v2-app .action-confirm-facts > div {
  border-radius: var(--v2-radius-sm);
  background: var(--surface-input);
}

.v2-app .action-confirm-risk {
  border-width: 0 0 0 2px;
  border-radius: 0;
  background: var(--risk-group-bg);
}

.v2-app .drawer-panel {
  border-left: 1px solid var(--border-strong, var(--border));
  background: var(--surface-modal);
  box-shadow: var(--shadow-drawer);
}

.v2-app .drawer-head {
  min-height: 64px;
  background: var(--table-head-bg);
}

@media (max-width: 1280px) {
  body.v2-app {
    --v2-rail-width: 188px;
  }

  .v2-app > .v2-topbar {
    grid-template-columns: var(--v2-rail-width) minmax(220px, 310px) minmax(100px, 1fr) auto;
  }

  .v2-app .v2-system-status {
    display: none;
  }

  .v2-app .ov-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 1024px) {
  body.v2-app {
    --v2-rail-width: 76px;
    --v2-context-width: min(310px, calc(100vw - var(--v2-rail-width)));
  }

  .v2-app > .v2-topbar {
    grid-template-columns: var(--v2-rail-width) minmax(210px, 1fr) minmax(90px, 0.55fr) auto;
  }

  .v2-app .v2-brand {
    justify-content: center;
    padding: 0;
  }

  .v2-app .v2-brand-copy {
    display: none;
  }

  .v2-app #workbar-rail.v2-product-rail {
    align-items: center;
    width: var(--v2-rail-width);
    padding: 0.75rem 0.55rem;
  }

  .v2-app .v2-product-nav-heading,
  .v2-app #workbar-rail .rail-copy {
    display: none;
  }

  .v2-app #workbar-rail .rail-item {
    justify-content: center;
    width: 54px;
    min-height: 52px;
    padding: 0.45rem;
  }

  .v2-app #workbar-panel.v2-context-panel {
    position: absolute;
    z-index: 80;
    inset: 0 auto 0 var(--v2-rail-width);
    width: var(--v2-context-width);
    box-shadow: var(--shadow-drawer);
  }

  .v2-app .shell:not(.workbar-collapsed) > .workbar-scrim[aria-hidden="false"] {
    position: absolute;
    z-index: 70;
    inset: 0 0 0 calc(var(--v2-rail-width) + var(--v2-context-width));
    display: block;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: var(--scrim-bg);
    box-shadow: none;
    backdrop-filter: blur(2px);
  }

  .v2-app #detail.v2-workspace {
    padding: 1.2rem 1.25rem 2rem;
  }

  .v2-app .v2-metric-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .v2-app .v2-metric:nth-child(2) {
    border-right: 0;
  }

  .v2-app .v2-metric:nth-child(-n + 2) {
    border-bottom: 1px solid var(--border);
  }
}

@media (max-width: 720px) {
  body.v2-app {
    --v2-topbar-height: 64px;
    --v2-bottom-nav-height: calc(64px + env(safe-area-inset-bottom, 0px));
    --v2-context-width: min(88vw, 340px);
  }

  .v2-app > .v2-topbar {
    min-height: var(--v2-topbar-height);
    grid-template-columns: 52px minmax(0, 1fr) auto;
    padding: 0 0.65rem 0 0;
  }

  .v2-app .v2-brand {
    border-right: 0;
  }

  .v2-app .v2-brand-mark {
    width: 32px;
    height: 32px;
    flex-basis: 32px;
  }

  .v2-app .v2-account-context {
    padding: 0.5rem 0.55rem;
    border-right: 0;
  }

  .v2-app .v2-account-context > .v2-context-eyebrow,
  .v2-app .v2-command-context,
  .v2-app .v2-system-status,
  .v2-app .theme-switch,
  .v2-app #auth-user-label {
    display: none !important;
  }

  .v2-app .v2-account-picker {
    margin-top: 0;
  }

  .v2-app .v2-account-trigger {
    width: 100%;
    min-height: 44px;
    padding: 0.25rem 0.4rem;
  }

  .v2-app #btn-account-directory {
    min-width: 0;
    height: 44px;
  }

  .v2-app .v2-account-trigger-copy {
    min-width: 0;
  }

  .v2-app .v2-account-trigger-alias,
  .v2-app .v2-account-trigger-name {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .v2-app .v2-theme-cycle {
    display: inline-grid;
    width: 44px;
    min-width: 44px;
    height: 44px;
    place-items: center;
    padding: 0;
  }

  .v2-app .header-actions.v2-command-actions {
    padding-left: 0.3rem;
  }

  .v2-app #btn-refresh-all {
    width: 44px;
    min-width: 44px;
    height: 44px;
    padding: 0;
  }

  .v2-app #btn-refresh-all > span {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
  }

  .v2-app #workbar-rail.v2-product-rail {
    position: absolute;
    z-index: 120;
    inset: auto 0 0;
    width: 100%;
    height: var(--v2-bottom-nav-height);
    min-height: var(--v2-bottom-nav-height);
    flex-direction: row;
    align-items: stretch;
    gap: 0;
    padding: 0.25rem 0.2rem env(safe-area-inset-bottom, 0px);
    overflow: hidden;
    border-top: 1px solid var(--border);
    border-right: 0;
    background: var(--chrome-mobile-nav);
    box-shadow: var(--shadow-lg);
    backdrop-filter: blur(18px);
  }

  .v2-app #workbar-rail .rail-spacer,
  .v2-app #workbar-rail .v2-product-utility {
    display: none !important;
  }

  .v2-app #workbar-rail .v2-product-item {
    display: flex;
    flex: 1 1 0;
    flex-direction: column;
    justify-content: center;
    gap: 0.08rem;
    width: auto;
    min-width: 44px;
    min-height: 56px;
    padding: 0.18rem 0.1rem;
    border: 0;
  }

  .v2-app #workbar-rail .v2-product-item::before {
    inset: auto 20% 0;
    width: auto;
    height: 2px;
  }

  .v2-app #workbar-rail .rail-glyph {
    width: 25px;
    height: 25px;
    flex-basis: 25px;
    border: 0;
    background: transparent;
  }

  .v2-app #workbar-rail .rail-copy {
    display: block;
    line-height: 1;
    text-align: center;
  }

  .v2-app #workbar-rail .rail-eyebrow {
    display: none;
  }

  .v2-app #workbar-rail .rail-label {
    display: block;
    font-size: 0.6rem;
    font-weight: 600;
  }

  .v2-app #workbar-panel.v2-context-panel {
    inset: 0 auto var(--v2-bottom-nav-height) 0;
    width: var(--v2-context-width);
    max-width: calc(100vw - 2rem);
  }

  .v2-app .shell:not(.workbar-collapsed) > .workbar-scrim[aria-hidden="false"] {
    inset: 0 0 var(--v2-bottom-nav-height) var(--v2-context-width);
  }

  .v2-app #detail.v2-workspace {
    width: 100%;
    padding: 1rem 0.75rem calc(1.2rem + var(--v2-bottom-nav-height));
  }

  .v2-app .detail-head {
    align-items: flex-start;
    margin-bottom: 0.8rem;
    padding-bottom: 0.8rem;
  }

  .v2-app .v2-workspace-heading h1 {
    font-size: 1.55rem;
  }

  .v2-app .v2-workspace-account {
    flex-wrap: wrap;
  }

  .v2-app .detail-head-actions {
    width: 100%;
  }

  .v2-app .detail-head-actions > button {
    min-height: 44px;
  }

  .v2-app .v2-metric-strip {
    margin-bottom: 0.75rem;
  }

  .v2-app .v2-metric {
    min-height: 86px;
    padding: 0.7rem 0.72rem;
  }

  .v2-app .v2-metric strong {
    font-size: 1rem;
  }

  .v2-app .detail-symbol-filter {
    align-items: stretch;
    padding: 0.65rem;
  }

  .v2-app .detail-symbol-filter > label:first-child {
    display: none;
  }

  .v2-app .detail-symbol-filter input[type="text"] {
    flex: 1 1 100%;
    width: 100%;
    max-width: none;
    min-height: 44px;
  }

  .v2-app .block,
  .v2-app .ops-sub,
  .v2-app .account-action-stage {
    padding: 0.72rem;
  }

  .v2-app .ov-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .v2-app .modal-backdrop {
    align-items: flex-end;
    padding: 0;
  }

  .v2-app .modal-panel {
    width: 100%;
    max-height: min(92dvh, 760px);
    border-right: 0;
    border-bottom: 0;
    border-left: 0;
    border-radius: var(--v2-radius) var(--v2-radius) 0 0;
    padding-bottom: max(1rem, env(safe-area-inset-bottom, 0px));
  }

  .v2-app .drawer-panel {
    width: 100vw;
  }

  .v2-app :is(button, [role="button"], [role="tab"], summary) {
    min-width: 44px;
    min-height: 44px;
  }
}

@media (max-width: 440px) {
  .v2-app .v2-account-trigger {
    gap: 0.35rem;
    padding-inline: 0.25rem;
  }

  .v2-app .v2-account-trigger-chevron {
    width: 14px;
    height: 14px;
  }

  .v2-app .v2-metric-label {
    font-size: 0.64rem;
  }

  .v2-app .v2-metric-note {
    font-size: 0.52rem;
    letter-spacing: 0.05em;
  }

  .v2-app #workbar-rail .rail-label {
    font-size: 0.56rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .v2-app *,
  .v2-app *::before,
  .v2-app *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}
