/* ---- css/jms_logic_ctrl_modal_shape_fix.css ---- */
/**
 * 逻辑控制器弹窗形态修复（隔离模块 · 随机/简单/循环 · TG+HTTP）
 * 修复抽屉样式剥离后残留 CSS 片段导致的变形，并强制居中弹窗。
 */

body.lth-studio-v2.lth-hub-jmeter-tab #modal-tg-random-edit.jms-modal-open,
body.lth-studio-v2.lth-hub-jmeter-tab.lth-drawer-open #modal-tg-random-edit.jms-modal-open {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 1.25rem !important;
    position: fixed !important;
    inset: 0 !important;
    z-index: 10320 !important;
    background: rgba(15, 23, 42, 0.42) !important;
}

body.lth-studio-v2.lth-hub-jmeter-tab #modal-tg-random-edit .jms-step-modal,
body.lth-studio-v2.lth-hub-jmeter-tab.lth-drawer-open #modal-tg-random-edit .jms-step-modal {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    width: min(680px, 96vw) !important;
    max-width: 96vw !important;
    max-height: min(92vh, 44rem) !important;
    height: auto !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    border-radius: 18px !important;
    overflow: hidden !important;
    animation: none !important;
    transform: none !important;
}

body.lth-studio-v2.lth-hub-jmeter-tab #modal-tg-random-edit .jms-step-modal > [class*="drawer__head"],
body.lth-studio-v2.lth-hub-jmeter-tab #modal-tg-random-edit .jms-step-modal > [class*="drawer__body"],
body.lth-studio-v2.lth-hub-jmeter-tab #modal-tg-random-edit .jms-step-modal > [class*="drawer__foot"] {
    min-width: 0;
}

body.lth-studio-v2.lth-hub-jmeter-tab #modal-tg-simple-edit.jms-modal-open,
body.lth-studio-v2.lth-hub-jmeter-tab.lth-drawer-open #modal-tg-simple-edit.jms-modal-open {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 1.25rem !important;
    position: fixed !important;
    inset: 0 !important;
    z-index: 10320 !important;
    background: rgba(15, 23, 42, 0.42) !important;
}

body.lth-studio-v2.lth-hub-jmeter-tab #modal-tg-simple-edit .jms-step-modal,
body.lth-studio-v2.lth-hub-jmeter-tab.lth-drawer-open #modal-tg-simple-edit .jms-step-modal {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    width: min(640px, 96vw) !important;
    max-width: 96vw !important;
    max-height: min(92vh, 40rem) !important;
    height: auto !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    border-radius: 18px !important;
    overflow: hidden !important;
    animation: none !important;
    transform: none !important;
}

body.lth-studio-v2.lth-hub-jmeter-tab #modal-tg-simple-edit .jms-step-modal > [class*="drawer__head"],
body.lth-studio-v2.lth-hub-jmeter-tab #modal-tg-simple-edit .jms-step-modal > [class*="drawer__body"],
body.lth-studio-v2.lth-hub-jmeter-tab #modal-tg-simple-edit .jms-step-modal > [class*="drawer__foot"] {
    min-width: 0;
}

body.lth-studio-v2.lth-hub-jmeter-tab #modal-tg-loop-edit.jms-modal-open,
body.lth-studio-v2.lth-hub-jmeter-tab.lth-drawer-open #modal-tg-loop-edit.jms-modal-open {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 1.25rem !important;
    position: fixed !important;
    inset: 0 !important;
    z-index: 10320 !important;
    background: rgba(15, 23, 42, 0.42) !important;
}

body.lth-studio-v2.lth-hub-jmeter-tab #modal-tg-loop-edit .jms-step-modal,
body.lth-studio-v2.lth-hub-jmeter-tab.lth-drawer-open #modal-tg-loop-edit .jms-step-modal {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    width: min(780px, 96vw) !important;
    max-width: 96vw !important;
    max-height: min(92vh, 32rem) !important;
    height: auto !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    border-radius: 18px !important;
    overflow: hidden !important;
    animation: none !important;
    transform: none !important;
}

body.lth-studio-v2.lth-hub-jmeter-tab #modal-tg-loop-edit .jms-step-modal > [class*="drawer__head"],
body.lth-studio-v2.lth-hub-jmeter-tab #modal-tg-loop-edit .jms-step-modal > [class*="drawer__body"],
body.lth-studio-v2.lth-hub-jmeter-tab #modal-tg-loop-edit .jms-step-modal > [class*="drawer__foot"] {
    min-width: 0;
}

body.lth-studio-v2.lth-hub-jmeter-tab #modal-http-random-edit.jms-modal-open,
body.lth-studio-v2.lth-hub-jmeter-tab.lth-drawer-open #modal-http-random-edit.jms-modal-open {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 1.25rem !important;
    position: fixed !important;
    inset: 0 !important;
    z-index: 10320 !important;
    background: rgba(15, 23, 42, 0.42) !important;
}

body.lth-studio-v2.lth-hub-jmeter-tab #modal-http-random-edit .jms-step-modal,
body.lth-studio-v2.lth-hub-jmeter-tab.lth-drawer-open #modal-http-random-edit .jms-step-modal {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    width: min(680px, 96vw) !important;
    max-width: 96vw !important;
    max-height: min(92vh, 44rem) !important;
    height: auto !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    border-radius: 18px !important;
    overflow: hidden !important;
    animation: none !important;
    transform: none !important;
}

body.lth-studio-v2.lth-hub-jmeter-tab #modal-http-random-edit .jms-step-modal > [class*="drawer__head"],
body.lth-studio-v2.lth-hub-jmeter-tab #modal-http-random-edit .jms-step-modal > [class*="drawer__body"],
body.lth-studio-v2.lth-hub-jmeter-tab #modal-http-random-edit .jms-step-modal > [class*="drawer__foot"] {
    min-width: 0;
}

body.lth-studio-v2.lth-hub-jmeter-tab #modal-http-simple-edit.jms-modal-open,
body.lth-studio-v2.lth-hub-jmeter-tab.lth-drawer-open #modal-http-simple-edit.jms-modal-open {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 1.25rem !important;
    position: fixed !important;
    inset: 0 !important;
    z-index: 10320 !important;
    background: rgba(15, 23, 42, 0.42) !important;
}

body.lth-studio-v2.lth-hub-jmeter-tab #modal-http-simple-edit .jms-step-modal,
body.lth-studio-v2.lth-hub-jmeter-tab.lth-drawer-open #modal-http-simple-edit .jms-step-modal {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    width: min(640px, 96vw) !important;
    max-width: 96vw !important;
    max-height: min(92vh, 40rem) !important;
    height: auto !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    border-radius: 18px !important;
    overflow: hidden !important;
    animation: none !important;
    transform: none !important;
}

body.lth-studio-v2.lth-hub-jmeter-tab #modal-http-simple-edit .jms-step-modal > [class*="drawer__head"],
body.lth-studio-v2.lth-hub-jmeter-tab #modal-http-simple-edit .jms-step-modal > [class*="drawer__body"],
body.lth-studio-v2.lth-hub-jmeter-tab #modal-http-simple-edit .jms-step-modal > [class*="drawer__foot"] {
    min-width: 0;
}

body.lth-studio-v2.lth-hub-jmeter-tab #modal-http-loop-edit.jms-modal-open,
body.lth-studio-v2.lth-hub-jmeter-tab.lth-drawer-open #modal-http-loop-edit.jms-modal-open {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 1.25rem !important;
    position: fixed !important;
    inset: 0 !important;
    z-index: 10320 !important;
    background: rgba(15, 23, 42, 0.42) !important;
}

body.lth-studio-v2.lth-hub-jmeter-tab #modal-http-loop-edit .jms-step-modal,
body.lth-studio-v2.lth-hub-jmeter-tab.lth-drawer-open #modal-http-loop-edit .jms-step-modal {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    width: min(780px, 96vw) !important;
    max-width: 96vw !important;
    max-height: min(92vh, 32rem) !important;
    height: auto !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    border-radius: 18px !important;
    overflow: hidden !important;
    animation: none !important;
    transform: none !important;
}

body.lth-studio-v2.lth-hub-jmeter-tab #modal-http-loop-edit .jms-step-modal > [class*="drawer__head"],
body.lth-studio-v2.lth-hub-jmeter-tab #modal-http-loop-edit .jms-step-modal > [class*="drawer__body"],
body.lth-studio-v2.lth-hub-jmeter-tab #modal-http-loop-edit .jms-step-modal > [class*="drawer__foot"] {
    min-width: 0;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-tg-random-edit.jms-modal-open,
body.lth-tg-view-tree.lth-hub-jmeter-tab.lth-drawer-open #modal-tg-random-edit.jms-modal-open {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 1.25rem !important;
    position: fixed !important;
    inset: 0 !important;
    z-index: 10320 !important;
    background: rgba(15, 23, 42, 0.42) !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-tg-random-edit .jms-step-modal,
body.lth-tg-view-tree.lth-hub-jmeter-tab.lth-drawer-open #modal-tg-random-edit .jms-step-modal {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    width: min(680px, 96vw) !important;
    max-width: 96vw !important;
    max-height: min(92vh, 44rem) !important;
    height: auto !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    border-radius: 18px !important;
    overflow: hidden !important;
    animation: none !important;
    transform: none !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-tg-random-edit .jms-step-modal > [class*="drawer__head"],
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-tg-random-edit .jms-step-modal > [class*="drawer__body"],
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-tg-random-edit .jms-step-modal > [class*="drawer__foot"] {
    min-width: 0;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-tg-simple-edit.jms-modal-open,
body.lth-tg-view-tree.lth-hub-jmeter-tab.lth-drawer-open #modal-tg-simple-edit.jms-modal-open {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 1.25rem !important;
    position: fixed !important;
    inset: 0 !important;
    z-index: 10320 !important;
    background: rgba(15, 23, 42, 0.42) !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-tg-simple-edit .jms-step-modal,
body.lth-tg-view-tree.lth-hub-jmeter-tab.lth-drawer-open #modal-tg-simple-edit .jms-step-modal {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    width: min(640px, 96vw) !important;
    max-width: 96vw !important;
    max-height: min(92vh, 40rem) !important;
    height: auto !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    border-radius: 18px !important;
    overflow: hidden !important;
    animation: none !important;
    transform: none !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-tg-simple-edit .jms-step-modal > [class*="drawer__head"],
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-tg-simple-edit .jms-step-modal > [class*="drawer__body"],
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-tg-simple-edit .jms-step-modal > [class*="drawer__foot"] {
    min-width: 0;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-tg-loop-edit.jms-modal-open,
body.lth-tg-view-tree.lth-hub-jmeter-tab.lth-drawer-open #modal-tg-loop-edit.jms-modal-open {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 1.25rem !important;
    position: fixed !important;
    inset: 0 !important;
    z-index: 10320 !important;
    background: rgba(15, 23, 42, 0.42) !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-tg-loop-edit .jms-step-modal,
body.lth-tg-view-tree.lth-hub-jmeter-tab.lth-drawer-open #modal-tg-loop-edit .jms-step-modal {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    width: min(780px, 96vw) !important;
    max-width: 96vw !important;
    max-height: min(92vh, 32rem) !important;
    height: auto !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    border-radius: 18px !important;
    overflow: hidden !important;
    animation: none !important;
    transform: none !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-tg-loop-edit .jms-step-modal > [class*="drawer__head"],
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-tg-loop-edit .jms-step-modal > [class*="drawer__body"],
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-tg-loop-edit .jms-step-modal > [class*="drawer__foot"] {
    min-width: 0;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-http-random-edit.jms-modal-open,
body.lth-tg-view-tree.lth-hub-jmeter-tab.lth-drawer-open #modal-http-random-edit.jms-modal-open {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 1.25rem !important;
    position: fixed !important;
    inset: 0 !important;
    z-index: 10320 !important;
    background: rgba(15, 23, 42, 0.42) !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-http-random-edit .jms-step-modal,
body.lth-tg-view-tree.lth-hub-jmeter-tab.lth-drawer-open #modal-http-random-edit .jms-step-modal {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    width: min(680px, 96vw) !important;
    max-width: 96vw !important;
    max-height: min(92vh, 44rem) !important;
    height: auto !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    border-radius: 18px !important;
    overflow: hidden !important;
    animation: none !important;
    transform: none !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-http-random-edit .jms-step-modal > [class*="drawer__head"],
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-http-random-edit .jms-step-modal > [class*="drawer__body"],
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-http-random-edit .jms-step-modal > [class*="drawer__foot"] {
    min-width: 0;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-http-simple-edit.jms-modal-open,
body.lth-tg-view-tree.lth-hub-jmeter-tab.lth-drawer-open #modal-http-simple-edit.jms-modal-open {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 1.25rem !important;
    position: fixed !important;
    inset: 0 !important;
    z-index: 10320 !important;
    background: rgba(15, 23, 42, 0.42) !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-http-simple-edit .jms-step-modal,
body.lth-tg-view-tree.lth-hub-jmeter-tab.lth-drawer-open #modal-http-simple-edit .jms-step-modal {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    width: min(640px, 96vw) !important;
    max-width: 96vw !important;
    max-height: min(92vh, 40rem) !important;
    height: auto !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    border-radius: 18px !important;
    overflow: hidden !important;
    animation: none !important;
    transform: none !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-http-simple-edit .jms-step-modal > [class*="drawer__head"],
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-http-simple-edit .jms-step-modal > [class*="drawer__body"],
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-http-simple-edit .jms-step-modal > [class*="drawer__foot"] {
    min-width: 0;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-http-loop-edit.jms-modal-open,
body.lth-tg-view-tree.lth-hub-jmeter-tab.lth-drawer-open #modal-http-loop-edit.jms-modal-open {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 1.25rem !important;
    position: fixed !important;
    inset: 0 !important;
    z-index: 10320 !important;
    background: rgba(15, 23, 42, 0.42) !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-http-loop-edit .jms-step-modal,
body.lth-tg-view-tree.lth-hub-jmeter-tab.lth-drawer-open #modal-http-loop-edit .jms-step-modal {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    width: min(780px, 96vw) !important;
    max-width: 96vw !important;
    max-height: min(92vh, 32rem) !important;
    height: auto !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    border-radius: 18px !important;
    overflow: hidden !important;
    animation: none !important;
    transform: none !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-http-loop-edit .jms-step-modal > [class*="drawer__head"],
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-http-loop-edit .jms-step-modal > [class*="drawer__body"],
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-http-loop-edit .jms-step-modal > [class*="drawer__foot"] {
    min-width: 0;
}

/* --- 事务控制器弹窗形态（追加） ---

body.lth-studio-v2.lth-hub-jmeter-tab #modal-tg-transaction-edit.jms-modal-open,
body.lth-studio-v2.lth-hub-jmeter-tab.lth-drawer-open #modal-tg-transaction-edit.jms-modal-open {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 1.25rem !important;
    position: fixed !important;
    inset: 0 !important;
    z-index: 10320 !important;
    background: rgba(15, 23, 42, 0.42) !important;
}

body.lth-studio-v2.lth-hub-jmeter-tab #modal-tg-transaction-edit .jms-step-modal,
body.lth-studio-v2.lth-hub-jmeter-tab.lth-drawer-open #modal-tg-transaction-edit .jms-step-modal {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    width: min(820px, 96vw) !important;
    max-width: 96vw !important;
    max-height: min(92vh, 32rem) !important;
    height: auto !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    border-radius: 18px !important;
    overflow: hidden !important;
    animation: none !important;
    transform: none !important;
}

body.lth-studio-v2.lth-hub-jmeter-tab #modal-tg-transaction-edit .jms-step-modal > [class*="drawer__head"],
body.lth-studio-v2.lth-hub-jmeter-tab #modal-tg-transaction-edit .jms-step-modal > [class*="drawer__body"],
body.lth-studio-v2.lth-hub-jmeter-tab #modal-tg-transaction-edit .jms-step-modal > [class*="drawer__foot"] {
    min-width: 0;
}

body.lth-studio-v2.lth-hub-jmeter-tab #modal-http-transaction-edit.jms-modal-open,
body.lth-studio-v2.lth-hub-jmeter-tab.lth-drawer-open #modal-http-transaction-edit.jms-modal-open {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 1.25rem !important;
    position: fixed !important;
    inset: 0 !important;
    z-index: 10320 !important;
    background: rgba(15, 23, 42, 0.42) !important;
}

body.lth-studio-v2.lth-hub-jmeter-tab #modal-http-transaction-edit .jms-step-modal,
body.lth-studio-v2.lth-hub-jmeter-tab.lth-drawer-open #modal-http-transaction-edit .jms-step-modal {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    width: min(780px, 96vw) !important;
    max-width: 96vw !important;
    max-height: min(92vh, 32rem) !important;
    height: auto !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    border-radius: 18px !important;
    overflow: hidden !important;
    animation: none !important;
    transform: none !important;
}

body.lth-studio-v2.lth-hub-jmeter-tab #modal-http-transaction-edit .jms-step-modal > [class*="drawer__head"],
body.lth-studio-v2.lth-hub-jmeter-tab #modal-http-transaction-edit .jms-step-modal > [class*="drawer__body"],
body.lth-studio-v2.lth-hub-jmeter-tab #modal-http-transaction-edit .jms-step-modal > [class*="drawer__foot"] {
    min-width: 0;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-tg-transaction-edit.jms-modal-open,
body.lth-tg-view-tree.lth-hub-jmeter-tab.lth-drawer-open #modal-tg-transaction-edit.jms-modal-open {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 1.25rem !important;
    position: fixed !important;
    inset: 0 !important;
    z-index: 10320 !important;
    background: rgba(15, 23, 42, 0.42) !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-tg-transaction-edit .jms-step-modal,
body.lth-tg-view-tree.lth-hub-jmeter-tab.lth-drawer-open #modal-tg-transaction-edit .jms-step-modal {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    width: min(820px, 96vw) !important;
    max-width: 96vw !important;
    max-height: min(92vh, 32rem) !important;
    height: auto !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    border-radius: 18px !important;
    overflow: hidden !important;
    animation: none !important;
    transform: none !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-tg-transaction-edit .jms-step-modal > [class*="drawer__head"],
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-tg-transaction-edit .jms-step-modal > [class*="drawer__body"],
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-tg-transaction-edit .jms-step-modal > [class*="drawer__foot"] {
    min-width: 0;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-http-transaction-edit.jms-modal-open,
body.lth-tg-view-tree.lth-hub-jmeter-tab.lth-drawer-open #modal-http-transaction-edit.jms-modal-open {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 1.25rem !important;
    position: fixed !important;
    inset: 0 !important;
    z-index: 10320 !important;
    background: rgba(15, 23, 42, 0.42) !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-http-transaction-edit .jms-step-modal,
body.lth-tg-view-tree.lth-hub-jmeter-tab.lth-drawer-open #modal-http-transaction-edit .jms-step-modal {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    width: min(780px, 96vw) !important;
    max-width: 96vw !important;
    max-height: min(92vh, 32rem) !important;
    height: auto !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    border-radius: 18px !important;
    overflow: hidden !important;
    animation: none !important;
    transform: none !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-http-transaction-edit .jms-step-modal > [class*="drawer__head"],
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-http-transaction-edit .jms-step-modal > [class*="drawer__body"],
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-http-transaction-edit .jms-step-modal > [class*="drawer__foot"] {
    min-width: 0;
}

/* ---- css/jms_postproc_modal_shape_fix.css ---- */
/**
 * 后置处理器弹窗形态修复（隔离模块 · JSON/Regex/XPath/BeanShell/JSR223 · TG+HTTP）
 * 强制居中弹窗，避免 body.lth-drawer-open 时退化为右侧抽屉。
 */

body.lth-studio-v2.lth-hub-jmeter-tab #modal-tg-json-extract-edit.jms-modal-open,
body.lth-studio-v2.lth-hub-jmeter-tab.lth-drawer-open #modal-tg-json-extract-edit.jms-modal-open {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 1.25rem !important;
    position: fixed !important;
    inset: 0 !important;
    z-index: 10320 !important;
    background: rgba(15, 23, 42, 0.42) !important;
}

body.lth-studio-v2.lth-hub-jmeter-tab #modal-tg-json-extract-edit .jms-step-modal,
body.lth-studio-v2.lth-hub-jmeter-tab.lth-drawer-open #modal-tg-json-extract-edit .jms-step-modal {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    width: min(680px, 96vw) !important;
    max-width: 96vw !important;
    max-height: min(92vh, 40rem) !important;
    height: auto !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    border-radius: 14px !important;
    overflow: hidden !important;
    animation: none !important;
    transform: none !important;
}

body.lth-studio-v2.lth-hub-jmeter-tab #modal-tg-json-extract-edit .jms-step-modal > [class*="drawer__head"],
body.lth-studio-v2.lth-hub-jmeter-tab #modal-tg-json-extract-edit .jms-step-modal > [class*="drawer__body"],
body.lth-studio-v2.lth-hub-jmeter-tab #modal-tg-json-extract-edit .jms-step-modal > [class*="drawer__foot"] {
    min-width: 0;
}

body.lth-studio-v2.lth-hub-jmeter-tab #modal-tg-regex-extract-edit.jms-modal-open,
body.lth-studio-v2.lth-hub-jmeter-tab.lth-drawer-open #modal-tg-regex-extract-edit.jms-modal-open {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 1.25rem !important;
    position: fixed !important;
    inset: 0 !important;
    z-index: 10320 !important;
    background: rgba(15, 23, 42, 0.42) !important;
}

body.lth-studio-v2.lth-hub-jmeter-tab #modal-tg-regex-extract-edit .jms-step-modal,
body.lth-studio-v2.lth-hub-jmeter-tab.lth-drawer-open #modal-tg-regex-extract-edit .jms-step-modal {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    width: min(780px, 96vw) !important;
    max-width: 96vw !important;
    max-height: min(92vh, 46rem) !important;
    height: auto !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    border-radius: 14px !important;
    overflow: hidden !important;
    animation: none !important;
    transform: none !important;
}

body.lth-studio-v2.lth-hub-jmeter-tab #modal-tg-regex-extract-edit .jms-step-modal > [class*="drawer__head"],
body.lth-studio-v2.lth-hub-jmeter-tab #modal-tg-regex-extract-edit .jms-step-modal > [class*="drawer__body"],
body.lth-studio-v2.lth-hub-jmeter-tab #modal-tg-regex-extract-edit .jms-step-modal > [class*="drawer__foot"] {
    min-width: 0;
}

body.lth-studio-v2.lth-hub-jmeter-tab #modal-tg-xpath-extract-edit.jms-modal-open,
body.lth-studio-v2.lth-hub-jmeter-tab.lth-drawer-open #modal-tg-xpath-extract-edit.jms-modal-open {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 1.25rem !important;
    position: fixed !important;
    inset: 0 !important;
    z-index: 10320 !important;
    background: rgba(15, 23, 42, 0.42) !important;
}

body.lth-studio-v2.lth-hub-jmeter-tab #modal-tg-xpath-extract-edit .jms-step-modal,
body.lth-studio-v2.lth-hub-jmeter-tab.lth-drawer-open #modal-tg-xpath-extract-edit .jms-step-modal {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    width: min(920px, 96vw) !important;
    max-width: 96vw !important;
    max-height: min(92vh, 56rem) !important;
    height: auto !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    border-radius: 14px !important;
    overflow: hidden !important;
    animation: none !important;
    transform: none !important;
}

body.lth-studio-v2.lth-hub-jmeter-tab #modal-tg-xpath-extract-edit .jms-step-modal > [class*="drawer__head"],
body.lth-studio-v2.lth-hub-jmeter-tab #modal-tg-xpath-extract-edit .jms-step-modal > [class*="drawer__body"],
body.lth-studio-v2.lth-hub-jmeter-tab #modal-tg-xpath-extract-edit .jms-step-modal > [class*="drawer__foot"] {
    min-width: 0;
}

body.lth-studio-v2.lth-hub-jmeter-tab #modal-tg-beanshell-post-edit.jms-modal-open,
body.lth-studio-v2.lth-hub-jmeter-tab.lth-drawer-open #modal-tg-beanshell-post-edit.jms-modal-open {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 1.25rem !important;
    position: fixed !important;
    inset: 0 !important;
    z-index: 10320 !important;
    background: rgba(15, 23, 42, 0.42) !important;
}

body.lth-studio-v2.lth-hub-jmeter-tab #modal-tg-beanshell-post-edit .jms-step-modal,
body.lth-studio-v2.lth-hub-jmeter-tab.lth-drawer-open #modal-tg-beanshell-post-edit .jms-step-modal {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    width: min(920px, 96vw) !important;
    max-width: 96vw !important;
    max-height: min(92vh, 58rem) !important;
    height: auto !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    border-radius: 14px !important;
    overflow: hidden !important;
    animation: none !important;
    transform: none !important;
}

body.lth-studio-v2.lth-hub-jmeter-tab #modal-tg-beanshell-post-edit .jms-step-modal > [class*="drawer__head"],
body.lth-studio-v2.lth-hub-jmeter-tab #modal-tg-beanshell-post-edit .jms-step-modal > [class*="drawer__body"],
body.lth-studio-v2.lth-hub-jmeter-tab #modal-tg-beanshell-post-edit .jms-step-modal > [class*="drawer__foot"] {
    min-width: 0;
}

body.lth-studio-v2.lth-hub-jmeter-tab #modal-tg-jsr223-post-edit.jms-modal-open,
body.lth-studio-v2.lth-hub-jmeter-tab.lth-drawer-open #modal-tg-jsr223-post-edit.jms-modal-open {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 1.25rem !important;
    position: fixed !important;
    inset: 0 !important;
    z-index: 10320 !important;
    background: rgba(15, 23, 42, 0.42) !important;
}

body.lth-studio-v2.lth-hub-jmeter-tab #modal-tg-jsr223-post-edit .jms-step-modal,
body.lth-studio-v2.lth-hub-jmeter-tab.lth-drawer-open #modal-tg-jsr223-post-edit .jms-step-modal {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    width: min(920px, 96vw) !important;
    max-width: 96vw !important;
    max-height: min(92vh, 56rem) !important;
    height: auto !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    border-radius: 14px !important;
    overflow: hidden !important;
    animation: none !important;
    transform: none !important;
}

body.lth-studio-v2.lth-hub-jmeter-tab #modal-tg-jsr223-post-edit .jms-step-modal > [class*="drawer__head"],
body.lth-studio-v2.lth-hub-jmeter-tab #modal-tg-jsr223-post-edit .jms-step-modal > [class*="drawer__body"],
body.lth-studio-v2.lth-hub-jmeter-tab #modal-tg-jsr223-post-edit .jms-step-modal > [class*="drawer__foot"] {
    min-width: 0;
}

body.lth-studio-v2.lth-hub-jmeter-tab #modal-json-extract-proc-edit.jms-modal-open,
body.lth-studio-v2.lth-hub-jmeter-tab.lth-drawer-open #modal-json-extract-proc-edit.jms-modal-open {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 1.25rem !important;
    position: fixed !important;
    inset: 0 !important;
    z-index: 10320 !important;
    background: rgba(15, 23, 42, 0.42) !important;
}

body.lth-studio-v2.lth-hub-jmeter-tab #modal-json-extract-proc-edit .jms-step-modal,
body.lth-studio-v2.lth-hub-jmeter-tab.lth-drawer-open #modal-json-extract-proc-edit .jms-step-modal {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    width: min(680px, 96vw) !important;
    max-width: 96vw !important;
    max-height: min(92vh, 40rem) !important;
    height: auto !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    border-radius: 14px !important;
    overflow: hidden !important;
    animation: none !important;
    transform: none !important;
}

body.lth-studio-v2.lth-hub-jmeter-tab #modal-json-extract-proc-edit .jms-step-modal > [class*="drawer__head"],
body.lth-studio-v2.lth-hub-jmeter-tab #modal-json-extract-proc-edit .jms-step-modal > [class*="drawer__body"],
body.lth-studio-v2.lth-hub-jmeter-tab #modal-json-extract-proc-edit .jms-step-modal > [class*="drawer__foot"] {
    min-width: 0;
}

body.lth-studio-v2.lth-hub-jmeter-tab #modal-http-regex-extract-proc-edit.jms-modal-open,
body.lth-studio-v2.lth-hub-jmeter-tab.lth-drawer-open #modal-http-regex-extract-proc-edit.jms-modal-open {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 1.25rem !important;
    position: fixed !important;
    inset: 0 !important;
    z-index: 10320 !important;
    background: rgba(15, 23, 42, 0.42) !important;
}

body.lth-studio-v2.lth-hub-jmeter-tab #modal-http-regex-extract-proc-edit .jms-step-modal,
body.lth-studio-v2.lth-hub-jmeter-tab.lth-drawer-open #modal-http-regex-extract-proc-edit .jms-step-modal {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    width: min(780px, 96vw) !important;
    max-width: 96vw !important;
    max-height: min(92vh, 46rem) !important;
    height: auto !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    border-radius: 14px !important;
    overflow: hidden !important;
    animation: none !important;
    transform: none !important;
}

body.lth-studio-v2.lth-hub-jmeter-tab #modal-http-regex-extract-proc-edit .jms-step-modal > [class*="drawer__head"],
body.lth-studio-v2.lth-hub-jmeter-tab #modal-http-regex-extract-proc-edit .jms-step-modal > [class*="drawer__body"],
body.lth-studio-v2.lth-hub-jmeter-tab #modal-http-regex-extract-proc-edit .jms-step-modal > [class*="drawer__foot"] {
    min-width: 0;
}

body.lth-studio-v2.lth-hub-jmeter-tab #modal-http-xpath-extract-proc-edit.jms-modal-open,
body.lth-studio-v2.lth-hub-jmeter-tab.lth-drawer-open #modal-http-xpath-extract-proc-edit.jms-modal-open {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 1.25rem !important;
    position: fixed !important;
    inset: 0 !important;
    z-index: 10320 !important;
    background: rgba(15, 23, 42, 0.42) !important;
}

body.lth-studio-v2.lth-hub-jmeter-tab #modal-http-xpath-extract-proc-edit .jms-step-modal,
body.lth-studio-v2.lth-hub-jmeter-tab.lth-drawer-open #modal-http-xpath-extract-proc-edit .jms-step-modal {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    width: min(920px, 96vw) !important;
    max-width: 96vw !important;
    max-height: min(92vh, 56rem) !important;
    height: auto !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    border-radius: 14px !important;
    overflow: hidden !important;
    animation: none !important;
    transform: none !important;
}

body.lth-studio-v2.lth-hub-jmeter-tab #modal-http-xpath-extract-proc-edit .jms-step-modal > [class*="drawer__head"],
body.lth-studio-v2.lth-hub-jmeter-tab #modal-http-xpath-extract-proc-edit .jms-step-modal > [class*="drawer__body"],
body.lth-studio-v2.lth-hub-jmeter-tab #modal-http-xpath-extract-proc-edit .jms-step-modal > [class*="drawer__foot"] {
    min-width: 0;
}

body.lth-studio-v2.lth-hub-jmeter-tab #modal-http-beanshell-proc-edit.jms-modal-open,
body.lth-studio-v2.lth-hub-jmeter-tab.lth-drawer-open #modal-http-beanshell-proc-edit.jms-modal-open {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 1.25rem !important;
    position: fixed !important;
    inset: 0 !important;
    z-index: 10320 !important;
    background: rgba(15, 23, 42, 0.42) !important;
}

body.lth-studio-v2.lth-hub-jmeter-tab #modal-http-beanshell-proc-edit .jms-step-modal,
body.lth-studio-v2.lth-hub-jmeter-tab.lth-drawer-open #modal-http-beanshell-proc-edit .jms-step-modal {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    width: min(920px, 96vw) !important;
    max-width: 96vw !important;
    max-height: min(92vh, 58rem) !important;
    height: auto !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    border-radius: 14px !important;
    overflow: hidden !important;
    animation: none !important;
    transform: none !important;
}

body.lth-studio-v2.lth-hub-jmeter-tab #modal-http-beanshell-proc-edit .jms-step-modal > [class*="drawer__head"],
body.lth-studio-v2.lth-hub-jmeter-tab #modal-http-beanshell-proc-edit .jms-step-modal > [class*="drawer__body"],
body.lth-studio-v2.lth-hub-jmeter-tab #modal-http-beanshell-proc-edit .jms-step-modal > [class*="drawer__foot"] {
    min-width: 0;
}

body.lth-studio-v2.lth-hub-jmeter-tab #modal-http-jsr223-proc-edit.jms-modal-open,
body.lth-studio-v2.lth-hub-jmeter-tab.lth-drawer-open #modal-http-jsr223-proc-edit.jms-modal-open {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 1.25rem !important;
    position: fixed !important;
    inset: 0 !important;
    z-index: 10320 !important;
    background: rgba(15, 23, 42, 0.42) !important;
}

body.lth-studio-v2.lth-hub-jmeter-tab #modal-http-jsr223-proc-edit .jms-step-modal,
body.lth-studio-v2.lth-hub-jmeter-tab.lth-drawer-open #modal-http-jsr223-proc-edit .jms-step-modal {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    width: min(920px, 96vw) !important;
    max-width: 96vw !important;
    max-height: min(92vh, 56rem) !important;
    height: auto !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    border-radius: 14px !important;
    overflow: hidden !important;
    animation: none !important;
    transform: none !important;
}

body.lth-studio-v2.lth-hub-jmeter-tab #modal-http-jsr223-proc-edit .jms-step-modal > [class*="drawer__head"],
body.lth-studio-v2.lth-hub-jmeter-tab #modal-http-jsr223-proc-edit .jms-step-modal > [class*="drawer__body"],
body.lth-studio-v2.lth-hub-jmeter-tab #modal-http-jsr223-proc-edit .jms-step-modal > [class*="drawer__foot"] {
    min-width: 0;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-tg-json-extract-edit.jms-modal-open,
body.lth-tg-view-tree.lth-hub-jmeter-tab.lth-drawer-open #modal-tg-json-extract-edit.jms-modal-open {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 1.25rem !important;
    position: fixed !important;
    inset: 0 !important;
    z-index: 10320 !important;
    background: rgba(15, 23, 42, 0.42) !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-tg-json-extract-edit .jms-step-modal,
body.lth-tg-view-tree.lth-hub-jmeter-tab.lth-drawer-open #modal-tg-json-extract-edit .jms-step-modal {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    width: min(680px, 96vw) !important;
    max-width: 96vw !important;
    max-height: min(92vh, 40rem) !important;
    height: auto !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    border-radius: 14px !important;
    overflow: hidden !important;
    animation: none !important;
    transform: none !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-tg-json-extract-edit .jms-step-modal > [class*="drawer__head"],
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-tg-json-extract-edit .jms-step-modal > [class*="drawer__body"],
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-tg-json-extract-edit .jms-step-modal > [class*="drawer__foot"] {
    min-width: 0;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-tg-regex-extract-edit.jms-modal-open,
body.lth-tg-view-tree.lth-hub-jmeter-tab.lth-drawer-open #modal-tg-regex-extract-edit.jms-modal-open {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 1.25rem !important;
    position: fixed !important;
    inset: 0 !important;
    z-index: 10320 !important;
    background: rgba(15, 23, 42, 0.42) !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-tg-regex-extract-edit .jms-step-modal,
body.lth-tg-view-tree.lth-hub-jmeter-tab.lth-drawer-open #modal-tg-regex-extract-edit .jms-step-modal {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    width: min(780px, 96vw) !important;
    max-width: 96vw !important;
    max-height: min(92vh, 46rem) !important;
    height: auto !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    border-radius: 14px !important;
    overflow: hidden !important;
    animation: none !important;
    transform: none !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-tg-regex-extract-edit .jms-step-modal > [class*="drawer__head"],
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-tg-regex-extract-edit .jms-step-modal > [class*="drawer__body"],
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-tg-regex-extract-edit .jms-step-modal > [class*="drawer__foot"] {
    min-width: 0;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-tg-xpath-extract-edit.jms-modal-open,
body.lth-tg-view-tree.lth-hub-jmeter-tab.lth-drawer-open #modal-tg-xpath-extract-edit.jms-modal-open {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 1.25rem !important;
    position: fixed !important;
    inset: 0 !important;
    z-index: 10320 !important;
    background: rgba(15, 23, 42, 0.42) !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-tg-xpath-extract-edit .jms-step-modal,
body.lth-tg-view-tree.lth-hub-jmeter-tab.lth-drawer-open #modal-tg-xpath-extract-edit .jms-step-modal {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    width: min(920px, 96vw) !important;
    max-width: 96vw !important;
    max-height: min(92vh, 56rem) !important;
    height: auto !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    border-radius: 14px !important;
    overflow: hidden !important;
    animation: none !important;
    transform: none !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-tg-xpath-extract-edit .jms-step-modal > [class*="drawer__head"],
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-tg-xpath-extract-edit .jms-step-modal > [class*="drawer__body"],
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-tg-xpath-extract-edit .jms-step-modal > [class*="drawer__foot"] {
    min-width: 0;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-tg-beanshell-post-edit.jms-modal-open,
body.lth-tg-view-tree.lth-hub-jmeter-tab.lth-drawer-open #modal-tg-beanshell-post-edit.jms-modal-open {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 1.25rem !important;
    position: fixed !important;
    inset: 0 !important;
    z-index: 10320 !important;
    background: rgba(15, 23, 42, 0.42) !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-tg-beanshell-post-edit .jms-step-modal,
body.lth-tg-view-tree.lth-hub-jmeter-tab.lth-drawer-open #modal-tg-beanshell-post-edit .jms-step-modal {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    width: min(920px, 96vw) !important;
    max-width: 96vw !important;
    max-height: min(92vh, 58rem) !important;
    height: auto !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    border-radius: 14px !important;
    overflow: hidden !important;
    animation: none !important;
    transform: none !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-tg-beanshell-post-edit .jms-step-modal > [class*="drawer__head"],
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-tg-beanshell-post-edit .jms-step-modal > [class*="drawer__body"],
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-tg-beanshell-post-edit .jms-step-modal > [class*="drawer__foot"] {
    min-width: 0;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-tg-jsr223-post-edit.jms-modal-open,
body.lth-tg-view-tree.lth-hub-jmeter-tab.lth-drawer-open #modal-tg-jsr223-post-edit.jms-modal-open {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 1.25rem !important;
    position: fixed !important;
    inset: 0 !important;
    z-index: 10320 !important;
    background: rgba(15, 23, 42, 0.42) !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-tg-jsr223-post-edit .jms-step-modal,
body.lth-tg-view-tree.lth-hub-jmeter-tab.lth-drawer-open #modal-tg-jsr223-post-edit .jms-step-modal {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    width: min(920px, 96vw) !important;
    max-width: 96vw !important;
    max-height: min(92vh, 56rem) !important;
    height: auto !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    border-radius: 14px !important;
    overflow: hidden !important;
    animation: none !important;
    transform: none !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-tg-jsr223-post-edit .jms-step-modal > [class*="drawer__head"],
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-tg-jsr223-post-edit .jms-step-modal > [class*="drawer__body"],
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-tg-jsr223-post-edit .jms-step-modal > [class*="drawer__foot"] {
    min-width: 0;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-json-extract-proc-edit.jms-modal-open,
body.lth-tg-view-tree.lth-hub-jmeter-tab.lth-drawer-open #modal-json-extract-proc-edit.jms-modal-open {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 1.25rem !important;
    position: fixed !important;
    inset: 0 !important;
    z-index: 10320 !important;
    background: rgba(15, 23, 42, 0.42) !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-json-extract-proc-edit .jms-step-modal,
body.lth-tg-view-tree.lth-hub-jmeter-tab.lth-drawer-open #modal-json-extract-proc-edit .jms-step-modal {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    width: min(680px, 96vw) !important;
    max-width: 96vw !important;
    max-height: min(92vh, 40rem) !important;
    height: auto !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    border-radius: 14px !important;
    overflow: hidden !important;
    animation: none !important;
    transform: none !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-json-extract-proc-edit .jms-step-modal > [class*="drawer__head"],
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-json-extract-proc-edit .jms-step-modal > [class*="drawer__body"],
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-json-extract-proc-edit .jms-step-modal > [class*="drawer__foot"] {
    min-width: 0;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-http-regex-extract-proc-edit.jms-modal-open,
body.lth-tg-view-tree.lth-hub-jmeter-tab.lth-drawer-open #modal-http-regex-extract-proc-edit.jms-modal-open {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 1.25rem !important;
    position: fixed !important;
    inset: 0 !important;
    z-index: 10320 !important;
    background: rgba(15, 23, 42, 0.42) !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-http-regex-extract-proc-edit .jms-step-modal,
body.lth-tg-view-tree.lth-hub-jmeter-tab.lth-drawer-open #modal-http-regex-extract-proc-edit .jms-step-modal {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    width: min(780px, 96vw) !important;
    max-width: 96vw !important;
    max-height: min(92vh, 46rem) !important;
    height: auto !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    border-radius: 14px !important;
    overflow: hidden !important;
    animation: none !important;
    transform: none !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-http-regex-extract-proc-edit .jms-step-modal > [class*="drawer__head"],
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-http-regex-extract-proc-edit .jms-step-modal > [class*="drawer__body"],
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-http-regex-extract-proc-edit .jms-step-modal > [class*="drawer__foot"] {
    min-width: 0;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-http-xpath-extract-proc-edit.jms-modal-open,
body.lth-tg-view-tree.lth-hub-jmeter-tab.lth-drawer-open #modal-http-xpath-extract-proc-edit.jms-modal-open {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 1.25rem !important;
    position: fixed !important;
    inset: 0 !important;
    z-index: 10320 !important;
    background: rgba(15, 23, 42, 0.42) !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-http-xpath-extract-proc-edit .jms-step-modal,
body.lth-tg-view-tree.lth-hub-jmeter-tab.lth-drawer-open #modal-http-xpath-extract-proc-edit .jms-step-modal {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    width: min(920px, 96vw) !important;
    max-width: 96vw !important;
    max-height: min(92vh, 56rem) !important;
    height: auto !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    border-radius: 14px !important;
    overflow: hidden !important;
    animation: none !important;
    transform: none !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-http-xpath-extract-proc-edit .jms-step-modal > [class*="drawer__head"],
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-http-xpath-extract-proc-edit .jms-step-modal > [class*="drawer__body"],
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-http-xpath-extract-proc-edit .jms-step-modal > [class*="drawer__foot"] {
    min-width: 0;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-http-beanshell-proc-edit.jms-modal-open,
body.lth-tg-view-tree.lth-hub-jmeter-tab.lth-drawer-open #modal-http-beanshell-proc-edit.jms-modal-open {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 1.25rem !important;
    position: fixed !important;
    inset: 0 !important;
    z-index: 10320 !important;
    background: rgba(15, 23, 42, 0.42) !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-http-beanshell-proc-edit .jms-step-modal,
body.lth-tg-view-tree.lth-hub-jmeter-tab.lth-drawer-open #modal-http-beanshell-proc-edit .jms-step-modal {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    width: min(920px, 96vw) !important;
    max-width: 96vw !important;
    max-height: min(92vh, 58rem) !important;
    height: auto !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    border-radius: 14px !important;
    overflow: hidden !important;
    animation: none !important;
    transform: none !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-http-beanshell-proc-edit .jms-step-modal > [class*="drawer__head"],
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-http-beanshell-proc-edit .jms-step-modal > [class*="drawer__body"],
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-http-beanshell-proc-edit .jms-step-modal > [class*="drawer__foot"] {
    min-width: 0;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-http-jsr223-proc-edit.jms-modal-open,
body.lth-tg-view-tree.lth-hub-jmeter-tab.lth-drawer-open #modal-http-jsr223-proc-edit.jms-modal-open {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 1.25rem !important;
    position: fixed !important;
    inset: 0 !important;
    z-index: 10320 !important;
    background: rgba(15, 23, 42, 0.42) !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-http-jsr223-proc-edit .jms-step-modal,
body.lth-tg-view-tree.lth-hub-jmeter-tab.lth-drawer-open #modal-http-jsr223-proc-edit .jms-step-modal {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    width: min(920px, 96vw) !important;
    max-width: 96vw !important;
    max-height: min(92vh, 56rem) !important;
    height: auto !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    border-radius: 14px !important;
    overflow: hidden !important;
    animation: none !important;
    transform: none !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-http-jsr223-proc-edit .jms-step-modal > [class*="drawer__head"],
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-http-jsr223-proc-edit .jms-step-modal > [class*="drawer__body"],
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-http-jsr223-proc-edit .jms-step-modal > [class*="drawer__foot"] {
    min-width: 0;
}

/* ---- css/jms_listener_modal_shape_fix.css ---- */
/**
 * 监听器弹窗形态修复（隔离模块 · 查看结果树/聚合报告/后端监听器 · Plan+TG）
 * 强制居中弹窗，避免 body.lth-drawer-open 时退化为右侧抽屉。
 */

body.lth-studio-v2.lth-hub-jmeter-tab #modal-plan-view-results-tree.jms-modal-open,
body.lth-studio-v2.lth-hub-jmeter-tab.lth-drawer-open #modal-plan-view-results-tree.jms-modal-open {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 1.25rem !important;
    position: fixed !important;
    inset: 0 !important;
    z-index: 10320 !important;
    background: rgba(15, 23, 42, 0.42) !important;
}

body.lth-studio-v2.lth-hub-jmeter-tab #modal-plan-view-results-tree .jms-step-modal,
body.lth-studio-v2.lth-hub-jmeter-tab.lth-drawer-open #modal-plan-view-results-tree .jms-step-modal {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    width: min(920px, 96vw) !important;
    max-width: 96vw !important;
    max-height: min(92vh, 40rem) !important;
    height: auto !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    border-radius: 20px !important;
    overflow: hidden !important;
    animation: none !important;
    transform: none !important;
}

body.lth-studio-v2.lth-hub-jmeter-tab #modal-plan-view-results-tree .jms-step-modal > [class*="drawer__head"],
body.lth-studio-v2.lth-hub-jmeter-tab #modal-plan-view-results-tree .jms-step-modal > [class*="drawer__body"],
body.lth-studio-v2.lth-hub-jmeter-tab #modal-plan-view-results-tree .jms-step-modal > [class*="drawer__foot"] {
    min-width: 0;
}

body.lth-studio-v2.lth-hub-jmeter-tab #modal-plan-aggregate-report.jms-modal-open,
body.lth-studio-v2.lth-hub-jmeter-tab.lth-drawer-open #modal-plan-aggregate-report.jms-modal-open {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 1.25rem !important;
    position: fixed !important;
    inset: 0 !important;
    z-index: 10320 !important;
    background: rgba(15, 23, 42, 0.42) !important;
}

body.lth-studio-v2.lth-hub-jmeter-tab #modal-plan-aggregate-report .jms-step-modal,
body.lth-studio-v2.lth-hub-jmeter-tab.lth-drawer-open #modal-plan-aggregate-report .jms-step-modal {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    width: min(860px, 96vw) !important;
    max-width: 96vw !important;
    max-height: min(92vh, 36rem) !important;
    height: auto !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    border-radius: 20px !important;
    overflow: hidden !important;
    animation: none !important;
    transform: none !important;
}

body.lth-studio-v2.lth-hub-jmeter-tab #modal-plan-aggregate-report .jms-step-modal > [class*="drawer__head"],
body.lth-studio-v2.lth-hub-jmeter-tab #modal-plan-aggregate-report .jms-step-modal > [class*="drawer__body"],
body.lth-studio-v2.lth-hub-jmeter-tab #modal-plan-aggregate-report .jms-step-modal > [class*="drawer__foot"] {
    min-width: 0;
}

body.lth-studio-v2.lth-hub-jmeter-tab #modal-tg-view-results-tree.jms-modal-open,
body.lth-studio-v2.lth-hub-jmeter-tab.lth-drawer-open #modal-tg-view-results-tree.jms-modal-open {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 1.25rem !important;
    position: fixed !important;
    inset: 0 !important;
    z-index: 10320 !important;
    background: rgba(15, 23, 42, 0.42) !important;
}

body.lth-studio-v2.lth-hub-jmeter-tab #modal-tg-view-results-tree .jms-step-modal,
body.lth-studio-v2.lth-hub-jmeter-tab.lth-drawer-open #modal-tg-view-results-tree .jms-step-modal {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    width: min(920px, 96vw) !important;
    max-width: 96vw !important;
    max-height: min(92vh, 40rem) !important;
    height: auto !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    border-radius: 20px !important;
    overflow: hidden !important;
    animation: none !important;
    transform: none !important;
}

body.lth-studio-v2.lth-hub-jmeter-tab #modal-tg-view-results-tree .jms-step-modal > [class*="drawer__head"],
body.lth-studio-v2.lth-hub-jmeter-tab #modal-tg-view-results-tree .jms-step-modal > [class*="drawer__body"],
body.lth-studio-v2.lth-hub-jmeter-tab #modal-tg-view-results-tree .jms-step-modal > [class*="drawer__foot"] {
    min-width: 0;
}

body.lth-studio-v2.lth-hub-jmeter-tab #modal-tg-aggregate-report.jms-modal-open,
body.lth-studio-v2.lth-hub-jmeter-tab.lth-drawer-open #modal-tg-aggregate-report.jms-modal-open {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 1.25rem !important;
    position: fixed !important;
    inset: 0 !important;
    z-index: 10320 !important;
    background: rgba(15, 23, 42, 0.42) !important;
}

body.lth-studio-v2.lth-hub-jmeter-tab #modal-tg-aggregate-report .jms-step-modal,
body.lth-studio-v2.lth-hub-jmeter-tab.lth-drawer-open #modal-tg-aggregate-report .jms-step-modal {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    width: min(860px, 96vw) !important;
    max-width: 96vw !important;
    max-height: min(92vh, 36rem) !important;
    height: auto !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    border-radius: 20px !important;
    overflow: hidden !important;
    animation: none !important;
    transform: none !important;
}

body.lth-studio-v2.lth-hub-jmeter-tab #modal-tg-aggregate-report .jms-step-modal > [class*="drawer__head"],
body.lth-studio-v2.lth-hub-jmeter-tab #modal-tg-aggregate-report .jms-step-modal > [class*="drawer__body"],
body.lth-studio-v2.lth-hub-jmeter-tab #modal-tg-aggregate-report .jms-step-modal > [class*="drawer__foot"] {
    min-width: 0;
}

body.lth-studio-v2.lth-hub-jmeter-tab #modal-tg-backend-listener.jms-modal-open,
body.lth-studio-v2.lth-hub-jmeter-tab.lth-drawer-open #modal-tg-backend-listener.jms-modal-open {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 1.25rem !important;
    position: fixed !important;
    inset: 0 !important;
    z-index: 10320 !important;
    background: rgba(15, 23, 42, 0.42) !important;
}

body.lth-studio-v2.lth-hub-jmeter-tab #modal-tg-backend-listener .jms-step-modal,
body.lth-studio-v2.lth-hub-jmeter-tab.lth-drawer-open #modal-tg-backend-listener .jms-step-modal {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    width: min(920px, 96vw) !important;
    max-width: 96vw !important;
    max-height: min(92vh, 44rem) !important;
    height: auto !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    border-radius: 20px !important;
    overflow: hidden !important;
    animation: none !important;
    transform: none !important;
}

body.lth-studio-v2.lth-hub-jmeter-tab #modal-tg-backend-listener .jms-step-modal > [class*="drawer__head"],
body.lth-studio-v2.lth-hub-jmeter-tab #modal-tg-backend-listener .jms-step-modal > [class*="drawer__body"],
body.lth-studio-v2.lth-hub-jmeter-tab #modal-tg-backend-listener .jms-step-modal > [class*="drawer__foot"] {
    min-width: 0;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-plan-view-results-tree.jms-modal-open,
body.lth-tg-view-tree.lth-hub-jmeter-tab.lth-drawer-open #modal-plan-view-results-tree.jms-modal-open {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 1.25rem !important;
    position: fixed !important;
    inset: 0 !important;
    z-index: 10320 !important;
    background: rgba(15, 23, 42, 0.42) !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-plan-view-results-tree .jms-step-modal,
body.lth-tg-view-tree.lth-hub-jmeter-tab.lth-drawer-open #modal-plan-view-results-tree .jms-step-modal {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    width: min(920px, 96vw) !important;
    max-width: 96vw !important;
    max-height: min(92vh, 40rem) !important;
    height: auto !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    border-radius: 20px !important;
    overflow: hidden !important;
    animation: none !important;
    transform: none !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-plan-view-results-tree .jms-step-modal > [class*="drawer__head"],
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-plan-view-results-tree .jms-step-modal > [class*="drawer__body"],
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-plan-view-results-tree .jms-step-modal > [class*="drawer__foot"] {
    min-width: 0;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-plan-aggregate-report.jms-modal-open,
body.lth-tg-view-tree.lth-hub-jmeter-tab.lth-drawer-open #modal-plan-aggregate-report.jms-modal-open {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 1.25rem !important;
    position: fixed !important;
    inset: 0 !important;
    z-index: 10320 !important;
    background: rgba(15, 23, 42, 0.42) !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-plan-aggregate-report .jms-step-modal,
body.lth-tg-view-tree.lth-hub-jmeter-tab.lth-drawer-open #modal-plan-aggregate-report .jms-step-modal {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    width: min(860px, 96vw) !important;
    max-width: 96vw !important;
    max-height: min(92vh, 36rem) !important;
    height: auto !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    border-radius: 20px !important;
    overflow: hidden !important;
    animation: none !important;
    transform: none !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-plan-aggregate-report .jms-step-modal > [class*="drawer__head"],
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-plan-aggregate-report .jms-step-modal > [class*="drawer__body"],
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-plan-aggregate-report .jms-step-modal > [class*="drawer__foot"] {
    min-width: 0;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-tg-view-results-tree.jms-modal-open,
body.lth-tg-view-tree.lth-hub-jmeter-tab.lth-drawer-open #modal-tg-view-results-tree.jms-modal-open {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 1.25rem !important;
    position: fixed !important;
    inset: 0 !important;
    z-index: 10320 !important;
    background: rgba(15, 23, 42, 0.42) !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-tg-view-results-tree .jms-step-modal,
body.lth-tg-view-tree.lth-hub-jmeter-tab.lth-drawer-open #modal-tg-view-results-tree .jms-step-modal {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    width: min(920px, 96vw) !important;
    max-width: 96vw !important;
    max-height: min(92vh, 40rem) !important;
    height: auto !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    border-radius: 20px !important;
    overflow: hidden !important;
    animation: none !important;
    transform: none !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-tg-view-results-tree .jms-step-modal > [class*="drawer__head"],
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-tg-view-results-tree .jms-step-modal > [class*="drawer__body"],
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-tg-view-results-tree .jms-step-modal > [class*="drawer__foot"] {
    min-width: 0;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-tg-aggregate-report.jms-modal-open,
body.lth-tg-view-tree.lth-hub-jmeter-tab.lth-drawer-open #modal-tg-aggregate-report.jms-modal-open {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 1.25rem !important;
    position: fixed !important;
    inset: 0 !important;
    z-index: 10320 !important;
    background: rgba(15, 23, 42, 0.42) !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-tg-aggregate-report .jms-step-modal,
body.lth-tg-view-tree.lth-hub-jmeter-tab.lth-drawer-open #modal-tg-aggregate-report .jms-step-modal {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    width: min(860px, 96vw) !important;
    max-width: 96vw !important;
    max-height: min(92vh, 36rem) !important;
    height: auto !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    border-radius: 20px !important;
    overflow: hidden !important;
    animation: none !important;
    transform: none !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-tg-aggregate-report .jms-step-modal > [class*="drawer__head"],
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-tg-aggregate-report .jms-step-modal > [class*="drawer__body"],
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-tg-aggregate-report .jms-step-modal > [class*="drawer__foot"] {
    min-width: 0;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-tg-backend-listener.jms-modal-open,
body.lth-tg-view-tree.lth-hub-jmeter-tab.lth-drawer-open #modal-tg-backend-listener.jms-modal-open {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 1.25rem !important;
    position: fixed !important;
    inset: 0 !important;
    z-index: 10320 !important;
    background: rgba(15, 23, 42, 0.42) !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-tg-backend-listener .jms-step-modal,
body.lth-tg-view-tree.lth-hub-jmeter-tab.lth-drawer-open #modal-tg-backend-listener .jms-step-modal {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    width: min(920px, 96vw) !important;
    max-width: 96vw !important;
    max-height: min(92vh, 44rem) !important;
    height: auto !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    border-radius: 20px !important;
    overflow: hidden !important;
    animation: none !important;
    transform: none !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-tg-backend-listener .jms-step-modal > [class*="drawer__head"],
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-tg-backend-listener .jms-step-modal > [class*="drawer__body"],
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-tg-backend-listener .jms-step-modal > [class*="drawer__foot"] {
    min-width: 0;
}

/* ---- css/jms_logic_ctrl_card_toggle.css ---- */
/**
 * 逻辑控制器 · 点击卡片头展开/收缩（隔离样式，对齐 HTTP 请求行）
 */
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-if-card__head,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-random-card__head,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-simple-card__head,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-transaction-card__head,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-loop-card__head {
    cursor: pointer !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tree-if-toggle {
    display: none !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-if-card:not(.jms-if-card--collapsed) > .jms-if-card__head,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-random-card:not(.jms-random-card--collapsed) > .jms-random-card__head,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-simple-card:not(.jms-simple-card--collapsed) > .jms-simple-card__head,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-transaction-card:not(.jms-transaction-card--collapsed) > .jms-transaction-card__head,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-loop-card:not(.jms-loop-card--collapsed) > .jms-loop-card__head {
    box-shadow: inset 0 -1px 0 rgba(99, 102, 241, 0.12) !important;
}

/* ---- css/jms_assert_modal_shape_fix.css ---- */
/**
 * 断言弹窗形态修复（隔离模块 · 响应/JSON/大小/MD5Hex · TG+HTTP）
 * 强制居中弹窗 + 高层级，避免被 shell 遮挡或退化为抽屉。
 */

body.lth-studio-v2.lth-hub-jmeter-tab #modal-tg-response-assert-edit.jms-modal-open,
body.lth-studio-v2.lth-hub-jmeter-tab.lth-drawer-open #modal-tg-response-assert-edit.jms-modal-open {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 1.25rem !important;
    position: fixed !important;
    inset: 0 !important;
    z-index: 10320 !important;
    background: rgba(15, 23, 42, 0.42) !important;
}

body.lth-studio-v2.lth-hub-jmeter-tab #modal-tg-response-assert-edit .jms-step-modal,
body.lth-studio-v2.lth-hub-jmeter-tab.lth-drawer-open #modal-tg-response-assert-edit .jms-step-modal {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    width: min(1040px, 96vw) !important;
    max-width: 96vw !important;
    max-height: min(92vh, 60rem) !important;
    height: auto !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    animation: none !important;
    transform: none !important;
}

body.lth-studio-v2.lth-hub-jmeter-tab #modal-tg-response-assert-edit .jms-step-modal > [class*="drawer__head"],
body.lth-studio-v2.lth-hub-jmeter-tab #modal-tg-response-assert-edit .jms-step-modal > [class*="drawer__body"],
body.lth-studio-v2.lth-hub-jmeter-tab #modal-tg-response-assert-edit .jms-step-modal > [class*="drawer__foot"] {
    min-width: 0;
}

body.lth-studio-v2.lth-hub-jmeter-tab #modal-tg-json-assert-edit.jms-modal-open,
body.lth-studio-v2.lth-hub-jmeter-tab.lth-drawer-open #modal-tg-json-assert-edit.jms-modal-open {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 1.25rem !important;
    position: fixed !important;
    inset: 0 !important;
    z-index: 10320 !important;
    background: rgba(15, 23, 42, 0.42) !important;
}

body.lth-studio-v2.lth-hub-jmeter-tab #modal-tg-json-assert-edit .jms-step-modal,
body.lth-studio-v2.lth-hub-jmeter-tab.lth-drawer-open #modal-tg-json-assert-edit .jms-step-modal {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    width: min(840px, 96vw) !important;
    max-width: 96vw !important;
    max-height: min(92vh, 56rem) !important;
    height: auto !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    animation: none !important;
    transform: none !important;
}

body.lth-studio-v2.lth-hub-jmeter-tab #modal-tg-json-assert-edit .jms-step-modal > [class*="drawer__head"],
body.lth-studio-v2.lth-hub-jmeter-tab #modal-tg-json-assert-edit .jms-step-modal > [class*="drawer__body"],
body.lth-studio-v2.lth-hub-jmeter-tab #modal-tg-json-assert-edit .jms-step-modal > [class*="drawer__foot"] {
    min-width: 0;
}

body.lth-studio-v2.lth-hub-jmeter-tab #modal-tg-size-assert-edit.jms-modal-open,
body.lth-studio-v2.lth-hub-jmeter-tab.lth-drawer-open #modal-tg-size-assert-edit.jms-modal-open {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 1.25rem !important;
    position: fixed !important;
    inset: 0 !important;
    z-index: 10320 !important;
    background: rgba(15, 23, 42, 0.42) !important;
}

body.lth-studio-v2.lth-hub-jmeter-tab #modal-tg-size-assert-edit .jms-step-modal,
body.lth-studio-v2.lth-hub-jmeter-tab.lth-drawer-open #modal-tg-size-assert-edit .jms-step-modal {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    width: min(860px, 96vw) !important;
    max-width: 96vw !important;
    max-height: min(92vh, 54rem) !important;
    height: auto !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    animation: none !important;
    transform: none !important;
}

body.lth-studio-v2.lth-hub-jmeter-tab #modal-tg-size-assert-edit .jms-step-modal > [class*="drawer__head"],
body.lth-studio-v2.lth-hub-jmeter-tab #modal-tg-size-assert-edit .jms-step-modal > [class*="drawer__body"],
body.lth-studio-v2.lth-hub-jmeter-tab #modal-tg-size-assert-edit .jms-step-modal > [class*="drawer__foot"] {
    min-width: 0;
}

body.lth-studio-v2.lth-hub-jmeter-tab #modal-tg-md5hex-assert-edit.jms-modal-open,
body.lth-studio-v2.lth-hub-jmeter-tab.lth-drawer-open #modal-tg-md5hex-assert-edit.jms-modal-open {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 1.25rem !important;
    position: fixed !important;
    inset: 0 !important;
    z-index: 10320 !important;
    background: rgba(15, 23, 42, 0.42) !important;
}

body.lth-studio-v2.lth-hub-jmeter-tab #modal-tg-md5hex-assert-edit .jms-step-modal,
body.lth-studio-v2.lth-hub-jmeter-tab.lth-drawer-open #modal-tg-md5hex-assert-edit .jms-step-modal {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    width: min(680px, 96vw) !important;
    max-width: 96vw !important;
    max-height: min(92vh, 44rem) !important;
    height: auto !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    animation: none !important;
    transform: none !important;
}

body.lth-studio-v2.lth-hub-jmeter-tab #modal-tg-md5hex-assert-edit .jms-step-modal > [class*="drawer__head"],
body.lth-studio-v2.lth-hub-jmeter-tab #modal-tg-md5hex-assert-edit .jms-step-modal > [class*="drawer__body"],
body.lth-studio-v2.lth-hub-jmeter-tab #modal-tg-md5hex-assert-edit .jms-step-modal > [class*="drawer__foot"] {
    min-width: 0;
}

body.lth-studio-v2.lth-hub-jmeter-tab #modal-http-response-assert-edit.jms-modal-open,
body.lth-studio-v2.lth-hub-jmeter-tab.lth-drawer-open #modal-http-response-assert-edit.jms-modal-open {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 1.25rem !important;
    position: fixed !important;
    inset: 0 !important;
    z-index: 10320 !important;
    background: rgba(15, 23, 42, 0.42) !important;
}

body.lth-studio-v2.lth-hub-jmeter-tab #modal-http-response-assert-edit .jms-step-modal,
body.lth-studio-v2.lth-hub-jmeter-tab.lth-drawer-open #modal-http-response-assert-edit .jms-step-modal {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    width: min(1040px, 96vw) !important;
    max-width: 96vw !important;
    max-height: min(92vh, 60rem) !important;
    height: auto !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    animation: none !important;
    transform: none !important;
}

body.lth-studio-v2.lth-hub-jmeter-tab #modal-http-response-assert-edit .jms-step-modal > [class*="drawer__head"],
body.lth-studio-v2.lth-hub-jmeter-tab #modal-http-response-assert-edit .jms-step-modal > [class*="drawer__body"],
body.lth-studio-v2.lth-hub-jmeter-tab #modal-http-response-assert-edit .jms-step-modal > [class*="drawer__foot"] {
    min-width: 0;
}

body.lth-studio-v2.lth-hub-jmeter-tab #modal-http-json-assert-edit.jms-modal-open,
body.lth-studio-v2.lth-hub-jmeter-tab.lth-drawer-open #modal-http-json-assert-edit.jms-modal-open {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 1.25rem !important;
    position: fixed !important;
    inset: 0 !important;
    z-index: 10320 !important;
    background: rgba(15, 23, 42, 0.42) !important;
}

body.lth-studio-v2.lth-hub-jmeter-tab #modal-http-json-assert-edit .jms-step-modal,
body.lth-studio-v2.lth-hub-jmeter-tab.lth-drawer-open #modal-http-json-assert-edit .jms-step-modal {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    width: min(840px, 96vw) !important;
    max-width: 96vw !important;
    max-height: min(92vh, 56rem) !important;
    height: auto !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    animation: none !important;
    transform: none !important;
}

body.lth-studio-v2.lth-hub-jmeter-tab #modal-http-json-assert-edit .jms-step-modal > [class*="drawer__head"],
body.lth-studio-v2.lth-hub-jmeter-tab #modal-http-json-assert-edit .jms-step-modal > [class*="drawer__body"],
body.lth-studio-v2.lth-hub-jmeter-tab #modal-http-json-assert-edit .jms-step-modal > [class*="drawer__foot"] {
    min-width: 0;
}

body.lth-studio-v2.lth-hub-jmeter-tab #modal-http-size-assert-edit.jms-modal-open,
body.lth-studio-v2.lth-hub-jmeter-tab.lth-drawer-open #modal-http-size-assert-edit.jms-modal-open {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 1.25rem !important;
    position: fixed !important;
    inset: 0 !important;
    z-index: 10320 !important;
    background: rgba(15, 23, 42, 0.42) !important;
}

body.lth-studio-v2.lth-hub-jmeter-tab #modal-http-size-assert-edit .jms-step-modal,
body.lth-studio-v2.lth-hub-jmeter-tab.lth-drawer-open #modal-http-size-assert-edit .jms-step-modal {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    width: min(860px, 96vw) !important;
    max-width: 96vw !important;
    max-height: min(92vh, 54rem) !important;
    height: auto !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    animation: none !important;
    transform: none !important;
}

body.lth-studio-v2.lth-hub-jmeter-tab #modal-http-size-assert-edit .jms-step-modal > [class*="drawer__head"],
body.lth-studio-v2.lth-hub-jmeter-tab #modal-http-size-assert-edit .jms-step-modal > [class*="drawer__body"],
body.lth-studio-v2.lth-hub-jmeter-tab #modal-http-size-assert-edit .jms-step-modal > [class*="drawer__foot"] {
    min-width: 0;
}

body.lth-studio-v2.lth-hub-jmeter-tab #modal-http-md5hex-assert-edit.jms-modal-open,
body.lth-studio-v2.lth-hub-jmeter-tab.lth-drawer-open #modal-http-md5hex-assert-edit.jms-modal-open {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 1.25rem !important;
    position: fixed !important;
    inset: 0 !important;
    z-index: 10320 !important;
    background: rgba(15, 23, 42, 0.42) !important;
}

body.lth-studio-v2.lth-hub-jmeter-tab #modal-http-md5hex-assert-edit .jms-step-modal,
body.lth-studio-v2.lth-hub-jmeter-tab.lth-drawer-open #modal-http-md5hex-assert-edit .jms-step-modal {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    width: min(680px, 96vw) !important;
    max-width: 96vw !important;
    max-height: min(92vh, 44rem) !important;
    height: auto !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    animation: none !important;
    transform: none !important;
}

body.lth-studio-v2.lth-hub-jmeter-tab #modal-http-md5hex-assert-edit .jms-step-modal > [class*="drawer__head"],
body.lth-studio-v2.lth-hub-jmeter-tab #modal-http-md5hex-assert-edit .jms-step-modal > [class*="drawer__body"],
body.lth-studio-v2.lth-hub-jmeter-tab #modal-http-md5hex-assert-edit .jms-step-modal > [class*="drawer__foot"] {
    min-width: 0;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-tg-response-assert-edit.jms-modal-open,
body.lth-tg-view-tree.lth-hub-jmeter-tab.lth-drawer-open #modal-tg-response-assert-edit.jms-modal-open {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 1.25rem !important;
    position: fixed !important;
    inset: 0 !important;
    z-index: 10320 !important;
    background: rgba(15, 23, 42, 0.42) !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-tg-response-assert-edit .jms-step-modal,
body.lth-tg-view-tree.lth-hub-jmeter-tab.lth-drawer-open #modal-tg-response-assert-edit .jms-step-modal {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    width: min(1040px, 96vw) !important;
    max-width: 96vw !important;
    max-height: min(92vh, 60rem) !important;
    height: auto !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    animation: none !important;
    transform: none !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-tg-response-assert-edit .jms-step-modal > [class*="drawer__head"],
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-tg-response-assert-edit .jms-step-modal > [class*="drawer__body"],
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-tg-response-assert-edit .jms-step-modal > [class*="drawer__foot"] {
    min-width: 0;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-tg-json-assert-edit.jms-modal-open,
body.lth-tg-view-tree.lth-hub-jmeter-tab.lth-drawer-open #modal-tg-json-assert-edit.jms-modal-open {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 1.25rem !important;
    position: fixed !important;
    inset: 0 !important;
    z-index: 10320 !important;
    background: rgba(15, 23, 42, 0.42) !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-tg-json-assert-edit .jms-step-modal,
body.lth-tg-view-tree.lth-hub-jmeter-tab.lth-drawer-open #modal-tg-json-assert-edit .jms-step-modal {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    width: min(840px, 96vw) !important;
    max-width: 96vw !important;
    max-height: min(92vh, 56rem) !important;
    height: auto !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    animation: none !important;
    transform: none !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-tg-json-assert-edit .jms-step-modal > [class*="drawer__head"],
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-tg-json-assert-edit .jms-step-modal > [class*="drawer__body"],
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-tg-json-assert-edit .jms-step-modal > [class*="drawer__foot"] {
    min-width: 0;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-tg-size-assert-edit.jms-modal-open,
body.lth-tg-view-tree.lth-hub-jmeter-tab.lth-drawer-open #modal-tg-size-assert-edit.jms-modal-open {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 1.25rem !important;
    position: fixed !important;
    inset: 0 !important;
    z-index: 10320 !important;
    background: rgba(15, 23, 42, 0.42) !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-tg-size-assert-edit .jms-step-modal,
body.lth-tg-view-tree.lth-hub-jmeter-tab.lth-drawer-open #modal-tg-size-assert-edit .jms-step-modal {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    width: min(860px, 96vw) !important;
    max-width: 96vw !important;
    max-height: min(92vh, 54rem) !important;
    height: auto !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    animation: none !important;
    transform: none !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-tg-size-assert-edit .jms-step-modal > [class*="drawer__head"],
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-tg-size-assert-edit .jms-step-modal > [class*="drawer__body"],
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-tg-size-assert-edit .jms-step-modal > [class*="drawer__foot"] {
    min-width: 0;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-tg-md5hex-assert-edit.jms-modal-open,
body.lth-tg-view-tree.lth-hub-jmeter-tab.lth-drawer-open #modal-tg-md5hex-assert-edit.jms-modal-open {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 1.25rem !important;
    position: fixed !important;
    inset: 0 !important;
    z-index: 10320 !important;
    background: rgba(15, 23, 42, 0.42) !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-tg-md5hex-assert-edit .jms-step-modal,
body.lth-tg-view-tree.lth-hub-jmeter-tab.lth-drawer-open #modal-tg-md5hex-assert-edit .jms-step-modal {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    width: min(680px, 96vw) !important;
    max-width: 96vw !important;
    max-height: min(92vh, 44rem) !important;
    height: auto !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    animation: none !important;
    transform: none !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-tg-md5hex-assert-edit .jms-step-modal > [class*="drawer__head"],
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-tg-md5hex-assert-edit .jms-step-modal > [class*="drawer__body"],
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-tg-md5hex-assert-edit .jms-step-modal > [class*="drawer__foot"] {
    min-width: 0;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-http-response-assert-edit.jms-modal-open,
body.lth-tg-view-tree.lth-hub-jmeter-tab.lth-drawer-open #modal-http-response-assert-edit.jms-modal-open {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 1.25rem !important;
    position: fixed !important;
    inset: 0 !important;
    z-index: 10320 !important;
    background: rgba(15, 23, 42, 0.42) !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-http-response-assert-edit .jms-step-modal,
body.lth-tg-view-tree.lth-hub-jmeter-tab.lth-drawer-open #modal-http-response-assert-edit .jms-step-modal {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    width: min(1040px, 96vw) !important;
    max-width: 96vw !important;
    max-height: min(92vh, 60rem) !important;
    height: auto !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    animation: none !important;
    transform: none !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-http-response-assert-edit .jms-step-modal > [class*="drawer__head"],
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-http-response-assert-edit .jms-step-modal > [class*="drawer__body"],
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-http-response-assert-edit .jms-step-modal > [class*="drawer__foot"] {
    min-width: 0;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-http-json-assert-edit.jms-modal-open,
body.lth-tg-view-tree.lth-hub-jmeter-tab.lth-drawer-open #modal-http-json-assert-edit.jms-modal-open {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 1.25rem !important;
    position: fixed !important;
    inset: 0 !important;
    z-index: 10320 !important;
    background: rgba(15, 23, 42, 0.42) !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-http-json-assert-edit .jms-step-modal,
body.lth-tg-view-tree.lth-hub-jmeter-tab.lth-drawer-open #modal-http-json-assert-edit .jms-step-modal {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    width: min(840px, 96vw) !important;
    max-width: 96vw !important;
    max-height: min(92vh, 56rem) !important;
    height: auto !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    animation: none !important;
    transform: none !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-http-json-assert-edit .jms-step-modal > [class*="drawer__head"],
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-http-json-assert-edit .jms-step-modal > [class*="drawer__body"],
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-http-json-assert-edit .jms-step-modal > [class*="drawer__foot"] {
    min-width: 0;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-http-size-assert-edit.jms-modal-open,
body.lth-tg-view-tree.lth-hub-jmeter-tab.lth-drawer-open #modal-http-size-assert-edit.jms-modal-open {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 1.25rem !important;
    position: fixed !important;
    inset: 0 !important;
    z-index: 10320 !important;
    background: rgba(15, 23, 42, 0.42) !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-http-size-assert-edit .jms-step-modal,
body.lth-tg-view-tree.lth-hub-jmeter-tab.lth-drawer-open #modal-http-size-assert-edit .jms-step-modal {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    width: min(860px, 96vw) !important;
    max-width: 96vw !important;
    max-height: min(92vh, 54rem) !important;
    height: auto !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    animation: none !important;
    transform: none !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-http-size-assert-edit .jms-step-modal > [class*="drawer__head"],
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-http-size-assert-edit .jms-step-modal > [class*="drawer__body"],
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-http-size-assert-edit .jms-step-modal > [class*="drawer__foot"] {
    min-width: 0;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-http-md5hex-assert-edit.jms-modal-open,
body.lth-tg-view-tree.lth-hub-jmeter-tab.lth-drawer-open #modal-http-md5hex-assert-edit.jms-modal-open {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 1.25rem !important;
    position: fixed !important;
    inset: 0 !important;
    z-index: 10320 !important;
    background: rgba(15, 23, 42, 0.42) !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-http-md5hex-assert-edit .jms-step-modal,
body.lth-tg-view-tree.lth-hub-jmeter-tab.lth-drawer-open #modal-http-md5hex-assert-edit .jms-step-modal {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    width: min(680px, 96vw) !important;
    max-width: 96vw !important;
    max-height: min(92vh, 44rem) !important;
    height: auto !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    animation: none !important;
    transform: none !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-http-md5hex-assert-edit .jms-step-modal > [class*="drawer__head"],
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-http-md5hex-assert-edit .jms-step-modal > [class*="drawer__body"],
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-http-md5hex-assert-edit .jms-step-modal > [class*="drawer__foot"] {
    min-width: 0;
}

/* ---- css/jms_http_step_config_modal_shape_fix.css ---- */
/**
 * HTTP 步骤配置弹窗形态修复（隔离模块 · 默认值 / 信息头 / 缓存管理器）
 * If 挂载区点击后强制居中弹窗，避免 drawerIds 或 lth-drawer-open 退化为抽屉。
 */

/* ── HTTP 请求默认值 ── */
body.lth-studio-v2.lth-hub-jmeter-tab #modal-http-step-config-defaults-edit.jms-modal-open,
body.lth-studio-v2.lth-hub-jmeter-tab.lth-drawer-open #modal-http-step-config-defaults-edit.jms-modal-open,
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-http-step-config-defaults-edit.jms-modal-open,
body.lth-tg-view-tree.lth-hub-jmeter-tab.lth-drawer-open #modal-http-step-config-defaults-edit.jms-modal-open {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 1.25rem !important;
    position: fixed !important;
    inset: 0 !important;
    z-index: 10320 !important;
    background: rgba(15, 23, 42, 0.42) !important;
    backdrop-filter: blur(6px);
}

body.lth-studio-v2.lth-hub-jmeter-tab #modal-http-step-config-defaults-edit .jms-step-modal,
body.lth-studio-v2.lth-hub-jmeter-tab.lth-drawer-open #modal-http-step-config-defaults-edit .jms-step-modal,
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-http-step-config-defaults-edit .jms-step-modal,
body.lth-tg-view-tree.lth-hub-jmeter-tab.lth-drawer-open #modal-http-step-config-defaults-edit .jms-step-modal {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    width: min(760px, 96vw) !important;
    max-width: 96vw !important;
    max-height: min(92vh, 56rem) !important;
    height: auto !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    border-radius: 14px !important;
    overflow: hidden !important;
    animation: none !important;
    transform: none !important;
}

/* ── HTTP 信息头管理器 ── */
body.lth-studio-v2.lth-hub-jmeter-tab #modal-http-step-config-headers-edit.jms-modal-open,
body.lth-studio-v2.lth-hub-jmeter-tab.lth-drawer-open #modal-http-step-config-headers-edit.jms-modal-open,
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-http-step-config-headers-edit.jms-modal-open,
body.lth-tg-view-tree.lth-hub-jmeter-tab.lth-drawer-open #modal-http-step-config-headers-edit.jms-modal-open {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 1.25rem !important;
    position: fixed !important;
    inset: 0 !important;
    z-index: 10320 !important;
    background: rgba(15, 23, 42, 0.42) !important;
    backdrop-filter: blur(6px);
}

body.lth-studio-v2.lth-hub-jmeter-tab #modal-http-step-config-headers-edit .jms-step-modal,
body.lth-studio-v2.lth-hub-jmeter-tab.lth-drawer-open #modal-http-step-config-headers-edit .jms-step-modal,
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-http-step-config-headers-edit .jms-step-modal,
body.lth-tg-view-tree.lth-hub-jmeter-tab.lth-drawer-open #modal-http-step-config-headers-edit .jms-step-modal {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    width: min(720px, 96vw) !important;
    max-width: 96vw !important;
    max-height: min(92vh, 54rem) !important;
    height: auto !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    border-radius: 14px !important;
    overflow: hidden !important;
    animation: none !important;
    transform: none !important;
}

/* ── HTTP 缓存管理器 ── */
body.lth-studio-v2.lth-hub-jmeter-tab #modal-http-step-config-cache-edit.jms-modal-open,
body.lth-studio-v2.lth-hub-jmeter-tab.lth-drawer-open #modal-http-step-config-cache-edit.jms-modal-open,
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-http-step-config-cache-edit.jms-modal-open,
body.lth-tg-view-tree.lth-hub-jmeter-tab.lth-drawer-open #modal-http-step-config-cache-edit.jms-modal-open {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 1.25rem !important;
    position: fixed !important;
    inset: 0 !important;
    z-index: 10320 !important;
    background: rgba(15, 23, 42, 0.42) !important;
    backdrop-filter: blur(6px);
}

body.lth-studio-v2.lth-hub-jmeter-tab #modal-http-step-config-cache-edit .jms-step-modal,
body.lth-studio-v2.lth-hub-jmeter-tab.lth-drawer-open #modal-http-step-config-cache-edit .jms-step-modal,
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-http-step-config-cache-edit .jms-step-modal,
body.lth-tg-view-tree.lth-hub-jmeter-tab.lth-drawer-open #modal-http-step-config-cache-edit .jms-step-modal {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    width: min(680px, 96vw) !important;
    max-width: 96vw !important;
    max-height: min(92vh, 48rem) !important;
    height: auto !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    border-radius: 14px !important;
    overflow: hidden !important;
    animation: none !important;
    transform: none !important;
}

body.lth-studio-v2.lth-hub-jmeter-tab #modal-http-step-config-defaults-edit .jms-step-modal > [class*="drawer__head"],
body.lth-studio-v2.lth-hub-jmeter-tab #modal-http-step-config-defaults-edit .jms-step-modal > [class*="drawer__body"],
body.lth-studio-v2.lth-hub-jmeter-tab #modal-http-step-config-defaults-edit .jms-step-modal > [class*="drawer__foot"],
body.lth-studio-v2.lth-hub-jmeter-tab #modal-http-step-config-headers-edit .jms-step-modal > [class*="drawer__head"],
body.lth-studio-v2.lth-hub-jmeter-tab #modal-http-step-config-headers-edit .jms-step-modal > [class*="drawer__body"],
body.lth-studio-v2.lth-hub-jmeter-tab #modal-http-step-config-headers-edit .jms-step-modal > [class*="drawer__foot"],
body.lth-studio-v2.lth-hub-jmeter-tab #modal-http-step-config-cache-edit .jms-step-modal > [class*="drawer__head"],
body.lth-studio-v2.lth-hub-jmeter-tab #modal-http-step-config-cache-edit .jms-step-modal > [class*="drawer__body"],
body.lth-studio-v2.lth-hub-jmeter-tab #modal-http-step-config-cache-edit .jms-step-modal > [class*="drawer__foot"],
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-http-step-config-defaults-edit .jms-step-modal > [class*="drawer__head"],
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-http-step-config-defaults-edit .jms-step-modal > [class*="drawer__body"],
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-http-step-config-defaults-edit .jms-step-modal > [class*="drawer__foot"],
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-http-step-config-headers-edit .jms-step-modal > [class*="drawer__head"],
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-http-step-config-headers-edit .jms-step-modal > [class*="drawer__body"],
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-http-step-config-headers-edit .jms-step-modal > [class*="drawer__foot"],
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-http-step-config-cache-edit .jms-step-modal > [class*="drawer__head"],
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-http-step-config-cache-edit .jms-step-modal > [class*="drawer__body"],
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-http-step-config-cache-edit .jms-step-modal > [class*="drawer__foot"] {
    min-width: 0;
}

/* ---- css/jms_http_beanshell_preproc_modal_shape_fix.css ---- */
/**
 * HTTP 步骤 · BeanShell PreProcessor 弹窗形态修复（隔离模块）
 * 强制居中弹窗，避免 drawerIds / lth-drawer-open 退化为右侧抽屉。
 */

body.lth-studio-v2.lth-hub-jmeter-tab #modal-http-step-beanshell-preproc-edit.jms-modal-open,
body.lth-studio-v2.lth-hub-jmeter-tab.lth-drawer-open #modal-http-step-beanshell-preproc-edit.jms-modal-open,
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-http-step-beanshell-preproc-edit.jms-modal-open,
body.lth-tg-view-tree.lth-hub-jmeter-tab.lth-drawer-open #modal-http-step-beanshell-preproc-edit.jms-modal-open {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 1.25rem !important;
    position: fixed !important;
    inset: 0 !important;
    z-index: 10320 !important;
    background: rgba(15, 23, 42, 0.42) !important;
    backdrop-filter: blur(6px);
}

body.lth-studio-v2.lth-hub-jmeter-tab #modal-http-step-beanshell-preproc-edit .jms-step-modal,
body.lth-studio-v2.lth-hub-jmeter-tab.lth-drawer-open #modal-http-step-beanshell-preproc-edit .jms-step-modal,
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-http-step-beanshell-preproc-edit .jms-step-modal,
body.lth-tg-view-tree.lth-hub-jmeter-tab.lth-drawer-open #modal-http-step-beanshell-preproc-edit .jms-step-modal {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    width: min(640px, 96vw) !important;
    max-width: 96vw !important;
    max-height: min(92vh, 52rem) !important;
    height: auto !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    animation: none !important;
    transform: none !important;
    background: #ffffff !important;
    border: 1px solid rgba(229, 233, 239, 0.98) !important;
    box-shadow: 0 24px 64px rgba(15, 23, 42, 0.12) !important;
}

body.lth-studio-v2.lth-hub-jmeter-tab #modal-http-step-beanshell-preproc-edit .jms-step-modal > [class*="drawer__head"],
body.lth-studio-v2.lth-hub-jmeter-tab #modal-http-step-beanshell-preproc-edit .jms-step-modal > [class*="drawer__body"],
body.lth-studio-v2.lth-hub-jmeter-tab #modal-http-step-beanshell-preproc-edit .jms-step-modal > [class*="drawer__foot"],
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-http-step-beanshell-preproc-edit .jms-step-modal > [class*="drawer__head"],
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-http-step-beanshell-preproc-edit .jms-step-modal > [class*="drawer__body"],
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-http-step-beanshell-preproc-edit .jms-step-modal > [class*="drawer__foot"] {
    min-width: 0;
}

/* 兼容旧 class 名（jms_http_step_preprocessor_ui.css 遗留） */
body.lth-studio-v2.lth-hub-jmeter-tab .jms-http-step-beanshell-preproc-modal.jms-modal-open,
body.lth-studio-v2.lth-hub-jmeter-tab.lth-drawer-open .jms-http-step-beanshell-preproc-modal.jms-modal-open,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-http-step-beanshell-preproc-modal.jms-modal-open {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 1.25rem !important;
    position: fixed !important;
    inset: 0 !important;
    z-index: 10320 !important;
}

body.lth-studio-v2.lth-hub-jmeter-tab .jms-http-step-beanshell-preproc-modal .jms-step-modal,
body.lth-studio-v2.lth-hub-jmeter-tab.lth-drawer-open .jms-http-step-beanshell-preproc-modal .jms-step-modal,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-http-step-beanshell-preproc-modal .jms-step-modal {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    width: min(640px, 96vw) !important;
    max-height: min(92vh, 52rem) !important;
    border-radius: 16px !important;
    animation: none !important;
    transform: none !important;
}

/* ---- css/jms_assert_modal_surface_fix.css ---- */
/**
 * 断言弹窗面板视觉修复（隔离模块 · TG+HTTP 共 8 个断言弹窗）
 * 补全 step-modal / head / body / foot 不透明背景，避免退化为透明弹窗。
 * 加载顺序：须在 jms-load-test-tail.css 之后。
 */

/* ---- 共享：覆盖 studio 全局深色 .jms-step-modal 主题 ---- */
body.lth-studio-v2.lth-hub-jmeter-tab #modal-tg-response-assert-edit .jms-step-modal,
body.lth-studio-v2.lth-hub-jmeter-tab #modal-tg-json-assert-edit .jms-step-modal,
body.lth-studio-v2.lth-hub-jmeter-tab #modal-tg-size-assert-edit .jms-step-modal,
body.lth-studio-v2.lth-hub-jmeter-tab #modal-tg-md5hex-assert-edit .jms-step-modal,
body.lth-studio-v2.lth-hub-jmeter-tab #modal-http-response-assert-edit .jms-step-modal,
body.lth-studio-v2.lth-hub-jmeter-tab #modal-http-json-assert-edit .jms-step-modal,
body.lth-studio-v2.lth-hub-jmeter-tab #modal-http-size-assert-edit .jms-step-modal,
body.lth-studio-v2.lth-hub-jmeter-tab #modal-http-md5hex-assert-edit .jms-step-modal,
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-tg-response-assert-edit .jms-step-modal,
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-tg-json-assert-edit .jms-step-modal,
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-tg-size-assert-edit .jms-step-modal,
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-tg-md5hex-assert-edit .jms-step-modal,
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-http-response-assert-edit .jms-step-modal,
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-http-json-assert-edit .jms-step-modal,
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-http-size-assert-edit .jms-step-modal,
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-http-md5hex-assert-edit .jms-step-modal {
    background: #ffffff !important;
    background-color: #ffffff !important;
    color: #111827 !important;
    border: 1px solid rgba(229, 233, 239, 0.98) !important;
    box-shadow: 0 24px 64px rgba(15, 23, 42, 0.12) !important;
    opacity: 1 !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

body.lth-studio-v2.lth-hub-jmeter-tab #modal-tg-response-assert-edit .jms-step-modal > [class*="drawer__head"],
body.lth-studio-v2.lth-hub-jmeter-tab #modal-tg-json-assert-edit .jms-step-modal > [class*="drawer__head"],
body.lth-studio-v2.lth-hub-jmeter-tab #modal-tg-size-assert-edit .jms-step-modal > [class*="drawer__head"],
body.lth-studio-v2.lth-hub-jmeter-tab #modal-tg-md5hex-assert-edit .jms-step-modal > [class*="drawer__head"],
body.lth-studio-v2.lth-hub-jmeter-tab #modal-http-response-assert-edit .jms-step-modal > [class*="drawer__head"],
body.lth-studio-v2.lth-hub-jmeter-tab #modal-http-json-assert-edit .jms-step-modal > [class*="drawer__head"],
body.lth-studio-v2.lth-hub-jmeter-tab #modal-http-size-assert-edit .jms-step-modal > [class*="drawer__head"],
body.lth-studio-v2.lth-hub-jmeter-tab #modal-http-md5hex-assert-edit .jms-step-modal > [class*="drawer__head"],
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-tg-response-assert-edit .jms-step-modal > [class*="drawer__head"],
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-tg-json-assert-edit .jms-step-modal > [class*="drawer__head"],
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-tg-size-assert-edit .jms-step-modal > [class*="drawer__head"],
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-tg-md5hex-assert-edit .jms-step-modal > [class*="drawer__head"],
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-http-response-assert-edit .jms-step-modal > [class*="drawer__head"],
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-http-json-assert-edit .jms-step-modal > [class*="drawer__head"],
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-http-size-assert-edit .jms-step-modal > [class*="drawer__head"],
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-http-md5hex-assert-edit .jms-step-modal > [class*="drawer__head"] {
    background: #ffffff !important;
    background-color: #ffffff !important;
}

body.lth-studio-v2.lth-hub-jmeter-tab #modal-tg-response-assert-edit .jms-step-modal > [class*="drawer__body"],
body.lth-studio-v2.lth-hub-jmeter-tab #modal-tg-json-assert-edit .jms-step-modal > [class*="drawer__body"],
body.lth-studio-v2.lth-hub-jmeter-tab #modal-tg-size-assert-edit .jms-step-modal > [class*="drawer__body"],
body.lth-studio-v2.lth-hub-jmeter-tab #modal-tg-md5hex-assert-edit .jms-step-modal > [class*="drawer__body"],
body.lth-studio-v2.lth-hub-jmeter-tab #modal-http-response-assert-edit .jms-step-modal > [class*="drawer__body"],
body.lth-studio-v2.lth-hub-jmeter-tab #modal-http-json-assert-edit .jms-step-modal > [class*="drawer__body"],
body.lth-studio-v2.lth-hub-jmeter-tab #modal-http-size-assert-edit .jms-step-modal > [class*="drawer__body"],
body.lth-studio-v2.lth-hub-jmeter-tab #modal-http-md5hex-assert-edit .jms-step-modal > [class*="drawer__body"],
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-tg-response-assert-edit .jms-step-modal > [class*="drawer__body"],
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-tg-json-assert-edit .jms-step-modal > [class*="drawer__body"],
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-tg-size-assert-edit .jms-step-modal > [class*="drawer__body"],
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-tg-md5hex-assert-edit .jms-step-modal > [class*="drawer__body"],
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-http-response-assert-edit .jms-step-modal > [class*="drawer__body"],
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-http-json-assert-edit .jms-step-modal > [class*="drawer__body"],
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-http-size-assert-edit .jms-step-modal > [class*="drawer__body"],
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-http-md5hex-assert-edit .jms-step-modal > [class*="drawer__body"] {
    background: #ffffff !important;
    background-color: #ffffff !important;
}

body.lth-studio-v2.lth-hub-jmeter-tab #modal-tg-response-assert-edit .jms-step-modal > [class*="drawer__foot"],
body.lth-studio-v2.lth-hub-jmeter-tab #modal-tg-json-assert-edit .jms-step-modal > [class*="drawer__foot"],
body.lth-studio-v2.lth-hub-jmeter-tab #modal-tg-size-assert-edit .jms-step-modal > [class*="drawer__foot"],
body.lth-studio-v2.lth-hub-jmeter-tab #modal-tg-md5hex-assert-edit .jms-step-modal > [class*="drawer__foot"],
body.lth-studio-v2.lth-hub-jmeter-tab #modal-http-response-assert-edit .jms-step-modal > [class*="drawer__foot"],
body.lth-studio-v2.lth-hub-jmeter-tab #modal-http-json-assert-edit .jms-step-modal > [class*="drawer__foot"],
body.lth-studio-v2.lth-hub-jmeter-tab #modal-http-size-assert-edit .jms-step-modal > [class*="drawer__foot"],
body.lth-studio-v2.lth-hub-jmeter-tab #modal-http-md5hex-assert-edit .jms-step-modal > [class*="drawer__foot"],
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-tg-response-assert-edit .jms-step-modal > [class*="drawer__foot"],
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-tg-json-assert-edit .jms-step-modal > [class*="drawer__foot"],
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-tg-size-assert-edit .jms-step-modal > [class*="drawer__foot"],
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-tg-md5hex-assert-edit .jms-step-modal > [class*="drawer__foot"],
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-http-response-assert-edit .jms-step-modal > [class*="drawer__foot"],
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-http-json-assert-edit .jms-step-modal > [class*="drawer__foot"],
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-http-size-assert-edit .jms-step-modal > [class*="drawer__foot"],
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-http-md5hex-assert-edit .jms-step-modal > [class*="drawer__foot"],
body.lth-studio-v2.lth-hub-jmeter-tab #modal-tg-response-assert-edit .jms-assert-foot,
body.lth-studio-v2.lth-hub-jmeter-tab #modal-tg-json-assert-edit .jms-assert-foot,
body.lth-studio-v2.lth-hub-jmeter-tab #modal-tg-size-assert-edit .jms-assert-foot,
body.lth-studio-v2.lth-hub-jmeter-tab #modal-tg-md5hex-assert-edit .jms-assert-foot,
body.lth-studio-v2.lth-hub-jmeter-tab #modal-http-response-assert-edit .jms-assert-foot,
body.lth-studio-v2.lth-hub-jmeter-tab #modal-http-json-assert-edit .jms-assert-foot,
body.lth-studio-v2.lth-hub-jmeter-tab #modal-http-size-assert-edit .jms-assert-foot,
body.lth-studio-v2.lth-hub-jmeter-tab #modal-http-md5hex-assert-edit .jms-assert-foot,
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-tg-response-assert-edit .jms-assert-foot,
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-tg-json-assert-edit .jms-assert-foot,
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-tg-size-assert-edit .jms-assert-foot,
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-tg-md5hex-assert-edit .jms-assert-foot,
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-http-response-assert-edit .jms-assert-foot,
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-http-json-assert-edit .jms-assert-foot,
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-http-size-assert-edit .jms-assert-foot,
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-http-md5hex-assert-edit .jms-assert-foot {
    background: #f8fafc !important;
    background-color: #f8fafc !important;
    border-top: 1px solid #e5e9ef !important;
}

body.lth-studio-v2.lth-hub-jmeter-tab #modal-tg-response-assert-edit .jms-step-modal__title,
body.lth-studio-v2.lth-hub-jmeter-tab #modal-tg-json-assert-edit .jms-step-modal__title,
body.lth-studio-v2.lth-hub-jmeter-tab #modal-tg-size-assert-edit .jms-step-modal__title,
body.lth-studio-v2.lth-hub-jmeter-tab #modal-tg-md5hex-assert-edit .jms-step-modal__title,
body.lth-studio-v2.lth-hub-jmeter-tab #modal-http-response-assert-edit .jms-step-modal__title,
body.lth-studio-v2.lth-hub-jmeter-tab #modal-http-json-assert-edit .jms-step-modal__title,
body.lth-studio-v2.lth-hub-jmeter-tab #modal-http-size-assert-edit .jms-step-modal__title,
body.lth-studio-v2.lth-hub-jmeter-tab #modal-http-md5hex-assert-edit .jms-step-modal__title,
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-tg-response-assert-edit .jms-step-modal__title,
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-tg-json-assert-edit .jms-step-modal__title,
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-tg-size-assert-edit .jms-step-modal__title,
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-tg-md5hex-assert-edit .jms-step-modal__title,
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-http-response-assert-edit .jms-step-modal__title,
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-http-json-assert-edit .jms-step-modal__title,
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-http-size-assert-edit .jms-step-modal__title,
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-http-md5hex-assert-edit .jms-step-modal__title {
    color: #111827 !important;
}

/* ---- 响应断言 · 琥珀色头 ---- */
body.lth-studio-v2.lth-hub-jmeter-tab #modal-tg-response-assert-edit .jms-tg-ra-drawer__head,
body.lth-studio-v2.lth-hub-jmeter-tab #modal-http-response-assert-edit .jms-http-ra-drawer__head,
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-tg-response-assert-edit .jms-tg-ra-drawer__head,
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-http-response-assert-edit .jms-http-ra-drawer__head {
    background: linear-gradient(180deg, #ffffff 0%, #fffbeb 100%) !important;
    border-bottom: 1px solid #e5e9ef !important;
}

/* ---- JSON 断言 · 蓝色头 ---- */
body.lth-studio-v2.lth-hub-jmeter-tab #modal-tg-json-assert-edit .jms-tg-ja-drawer__head,
body.lth-studio-v2.lth-hub-jmeter-tab #modal-http-json-assert-edit .jms-http-ja-drawer__head,
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-tg-json-assert-edit .jms-tg-ja-drawer__head,
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-http-json-assert-edit .jms-http-ja-drawer__head {
    background: linear-gradient(180deg, #ffffff 0%, #eff6ff 100%) !important;
    border-bottom: 1px solid #e5e9ef !important;
}

/* ---- 大小断言 · 青色头 ---- */
body.lth-studio-v2.lth-hub-jmeter-tab #modal-tg-size-assert-edit .jms-tg-sa-drawer__head,
body.lth-studio-v2.lth-hub-jmeter-tab #modal-http-size-assert-edit .jms-http-sa-drawer__head,
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-tg-size-assert-edit .jms-tg-sa-drawer__head,
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-http-size-assert-edit .jms-http-sa-drawer__head {
    background: linear-gradient(180deg, #ffffff 0%, #f0fdfa 100%) !important;
    border-bottom: 1px solid #e5e9ef !important;
}

/* ---- MD5Hex 断言 · 紫色头 ---- */
body.lth-studio-v2.lth-hub-jmeter-tab #modal-tg-md5hex-assert-edit .jms-tg-m5-drawer__head,
body.lth-studio-v2.lth-hub-jmeter-tab #modal-http-md5hex-assert-edit .jms-http-m5-drawer__head,
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-tg-md5hex-assert-edit .jms-tg-m5-drawer__head,
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-http-md5hex-assert-edit .jms-http-m5-drawer__head {
    background: linear-gradient(180deg, #ffffff 0%, #f5f3ff 100%) !important;
    border-bottom: 1px solid #e5e9ef !important;
}

/* ---- 兜底 CSS 变量（modal 挂 body 时仍可用） ---- */
body.lth-studio-v2.lth-hub-jmeter-tab #modal-tg-response-assert-edit,
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-tg-response-assert-edit {
    --jms-tg-ra-surface: #ffffff;
    --jms-tg-ra-text: #111827;
    --jms-tg-ra-border: #e5e9ef;
}
body.lth-studio-v2.lth-hub-jmeter-tab #modal-http-response-assert-edit,
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-http-response-assert-edit {
    --jms-http-ra-surface: #ffffff;
    --jms-http-ra-text: #111827;
    --jms-http-ra-border: #e5e9ef;
}
body.lth-studio-v2.lth-hub-jmeter-tab #modal-tg-json-assert-edit,
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-tg-json-assert-edit {
    --jms-tg-ja-surface: #ffffff;
    --jms-tg-ja-text: #111827;
    --jms-tg-ja-border: #e5e9ef;
}
body.lth-studio-v2.lth-hub-jmeter-tab #modal-http-json-assert-edit,
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-http-json-assert-edit {
    --jms-http-ja-surface: #ffffff;
    --jms-http-ja-text: #111827;
    --jms-http-ja-border: #e5e9ef;
}
body.lth-studio-v2.lth-hub-jmeter-tab #modal-tg-size-assert-edit,
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-tg-size-assert-edit {
    --jms-tg-sa-surface: #ffffff;
    --jms-tg-sa-text: #111827;
    --jms-tg-sa-border: #e5e9ef;
}
body.lth-studio-v2.lth-hub-jmeter-tab #modal-http-size-assert-edit,
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-http-size-assert-edit {
    --jms-http-sa-surface: #ffffff;
    --jms-http-sa-text: #111827;
    --jms-http-sa-border: #e5e9ef;
}
body.lth-studio-v2.lth-hub-jmeter-tab #modal-tg-md5hex-assert-edit,
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-tg-md5hex-assert-edit {
    --jms-tg-m5-surface: #ffffff;
    --jms-tg-m5-text: #111827;
    --jms-tg-m5-border: #e5e9ef;
}
body.lth-studio-v2.lth-hub-jmeter-tab #modal-http-md5hex-assert-edit,
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-http-md5hex-assert-edit {
    --jms-http-m5-surface: #ffffff;
    --jms-http-m5-text: #111827;
    --jms-http-m5-border: #e5e9ef;
}

/* ---- 仅打开态生效（避免关闭态 inner panel 被误显示） ---- */
body.lth-studio-v2.lth-hub-jmeter-tab #modal-tg-response-assert-edit:not(.jms-modal-open) .jms-step-modal,
body.lth-studio-v2.lth-hub-jmeter-tab #modal-tg-json-assert-edit:not(.jms-modal-open) .jms-step-modal,
body.lth-studio-v2.lth-hub-jmeter-tab #modal-tg-size-assert-edit:not(.jms-modal-open) .jms-step-modal,
body.lth-studio-v2.lth-hub-jmeter-tab #modal-tg-md5hex-assert-edit:not(.jms-modal-open) .jms-step-modal,
body.lth-studio-v2.lth-hub-jmeter-tab #modal-http-response-assert-edit:not(.jms-modal-open) .jms-step-modal,
body.lth-studio-v2.lth-hub-jmeter-tab #modal-http-json-assert-edit:not(.jms-modal-open) .jms-step-modal,
body.lth-studio-v2.lth-hub-jmeter-tab #modal-http-size-assert-edit:not(.jms-modal-open) .jms-step-modal,
body.lth-studio-v2.lth-hub-jmeter-tab #modal-http-md5hex-assert-edit:not(.jms-modal-open) .jms-step-modal,
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-tg-response-assert-edit:not(.jms-modal-open) .jms-step-modal,
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-tg-json-assert-edit:not(.jms-modal-open) .jms-step-modal,
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-tg-size-assert-edit:not(.jms-modal-open) .jms-step-modal,
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-tg-md5hex-assert-edit:not(.jms-modal-open) .jms-step-modal,
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-http-response-assert-edit:not(.jms-modal-open) .jms-step-modal,
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-http-json-assert-edit:not(.jms-modal-open) .jms-step-modal,
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-http-size-assert-edit:not(.jms-modal-open) .jms-step-modal,
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-http-md5hex-assert-edit:not(.jms-modal-open) .jms-step-modal {
    display: none !important;
    visibility: hidden !important;
}

/* ---- css/jms_body_appended_modal_cloak.css ---- */
/**
 * Body 挂载弹窗兜底隐藏（隔离模块）
 * ensureDrawer 预创建的 .jms-modal 关闭后必须完全不可见，避免堆叠在页面底部。
 * 加载顺序：须在 jms_assert_modal_surface_fix.css 之后。
 */

body.lth-studio-v2.lth-hub-jmeter-tab > .jms-modal:not(.jms-modal-open),
body.lth-tg-view-tree.lth-hub-jmeter-tab > .jms-modal:not(.jms-modal-open),
body.lth-studio-v2.lth-hub-jmeter-tab > .jms-modal[aria-hidden="true"],
body.lth-tg-view-tree.lth-hub-jmeter-tab > .jms-modal[aria-hidden="true"] {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
    opacity: 0 !important;
}

body.lth-studio-v2.lth-hub-jmeter-tab > .jms-modal:not(.jms-modal-open) .jms-step-modal,
body.lth-tg-view-tree.lth-hub-jmeter-tab > .jms-modal:not(.jms-modal-open) .jms-step-modal,
body.lth-studio-v2.lth-hub-jmeter-tab > .jms-modal[aria-hidden="true"] .jms-step-modal,
body.lth-tg-view-tree.lth-hub-jmeter-tab > .jms-modal[aria-hidden="true"] .jms-step-modal {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
}

body.lth-studio-v2.lth-hub-jmeter-tab > .jms-modal.jms-modal-open,
body.lth-tg-view-tree.lth-hub-jmeter-tab > .jms-modal.jms-modal-open {
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
}

body.lth-studio-v2.lth-hub-jmeter-tab > .jms-modal.jms-modal-open .jms-step-modal,
body.lth-tg-view-tree.lth-hub-jmeter-tab > .jms-modal.jms-modal-open .jms-step-modal {
    visibility: visible !important;
    opacity: 1 !important;
}

/* 断言弹窗打开时：遮罩 + 面板不透明（覆盖 studio 全局深色半透明主题） */
body.lth-studio-v2.lth-hub-jmeter-tab #modal-tg-response-assert-edit.jms-modal-open,
body.lth-studio-v2.lth-hub-jmeter-tab #modal-tg-json-assert-edit.jms-modal-open,
body.lth-studio-v2.lth-hub-jmeter-tab #modal-tg-size-assert-edit.jms-modal-open,
body.lth-studio-v2.lth-hub-jmeter-tab #modal-tg-md5hex-assert-edit.jms-modal-open,
body.lth-studio-v2.lth-hub-jmeter-tab #modal-http-response-assert-edit.jms-modal-open,
body.lth-studio-v2.lth-hub-jmeter-tab #modal-http-json-assert-edit.jms-modal-open,
body.lth-studio-v2.lth-hub-jmeter-tab #modal-http-size-assert-edit.jms-modal-open,
body.lth-studio-v2.lth-hub-jmeter-tab #modal-http-md5hex-assert-edit.jms-modal-open,
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-tg-response-assert-edit.jms-modal-open,
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-tg-json-assert-edit.jms-modal-open,
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-tg-size-assert-edit.jms-modal-open,
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-tg-md5hex-assert-edit.jms-modal-open,
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-http-response-assert-edit.jms-modal-open,
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-http-json-assert-edit.jms-modal-open,
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-http-size-assert-edit.jms-modal-open,
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-http-md5hex-assert-edit.jms-modal-open {
    display: flex !important;
    position: fixed !important;
    inset: 0 !important;
    z-index: 10320 !important;
    align-items: center !important;
    justify-content: center !important;
    background: rgba(15, 23, 42, 0.45) !important;
    backdrop-filter: blur(6px);
}

body.lth-studio-v2.lth-hub-jmeter-tab #modal-tg-response-assert-edit.jms-modal-open .jms-step-modal,
body.lth-studio-v2.lth-hub-jmeter-tab #modal-tg-json-assert-edit.jms-modal-open .jms-step-modal,
body.lth-studio-v2.lth-hub-jmeter-tab #modal-tg-size-assert-edit.jms-modal-open .jms-step-modal,
body.lth-studio-v2.lth-hub-jmeter-tab #modal-tg-md5hex-assert-edit.jms-modal-open .jms-step-modal,
body.lth-studio-v2.lth-hub-jmeter-tab #modal-http-response-assert-edit.jms-modal-open .jms-step-modal,
body.lth-studio-v2.lth-hub-jmeter-tab #modal-http-json-assert-edit.jms-modal-open .jms-step-modal,
body.lth-studio-v2.lth-hub-jmeter-tab #modal-http-size-assert-edit.jms-modal-open .jms-step-modal,
body.lth-studio-v2.lth-hub-jmeter-tab #modal-http-md5hex-assert-edit.jms-modal-open .jms-step-modal,
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-tg-response-assert-edit.jms-modal-open .jms-step-modal,
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-tg-json-assert-edit.jms-modal-open .jms-step-modal,
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-tg-size-assert-edit.jms-modal-open .jms-step-modal,
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-tg-md5hex-assert-edit.jms-modal-open .jms-step-modal,
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-http-response-assert-edit.jms-modal-open .jms-step-modal,
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-http-json-assert-edit.jms-modal-open .jms-step-modal,
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-http-size-assert-edit.jms-modal-open .jms-step-modal,
body.lth-tg-view-tree.lth-hub-jmeter-tab #modal-http-md5hex-assert-edit.jms-modal-open .jms-step-modal {
    display: flex !important;
    background: #ffffff !important;
    background-color: #ffffff !important;
    color: #111827 !important;
    border: 1px solid rgba(229, 233, 239, 0.98) !important;
    box-shadow: 0 24px 64px rgba(15, 23, 42, 0.14) !important;
    isolation: isolate !important;
}

/* ---- css/jms_tg_nav_viewport.css ---- */
/* 线程组左侧导航：视口高度 + 自然滚动（隔离：body.lth-tg-view-tree） */
@media (min-width: 961px) {
    body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-workspace {
        height: calc(100vh - 10.5rem) !important;
        max-height: calc(100vh - 10.5rem) !important;
        min-height: min(520px, 62vh) !important;
    }

    body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-nav {
        align-self: stretch !important;
        height: 100% !important;
        max-height: 100% !important;
    }

    body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-nav__list {
        flex: 1 1 auto !important;
        min-height: 0 !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        scrollbar-gutter: stable;
    }

    body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-nav__list[data-jms-nav-scroll="1"] {
        padding-right: 0.25rem !important;
    }

    body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-nav__list[data-jms-nav-scroll="1"]::-webkit-scrollbar {
        width: 6px;
    }

    body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-nav__list[data-jms-nav-scroll="1"]::-webkit-scrollbar-thumb {
        border-radius: 999px;
        background: rgba(100, 116, 139, 0.45);
    }

    body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-nav__list[data-jms-nav-scroll="1"]::-webkit-scrollbar-thumb:hover {
        background: rgba(71, 85, 105, 0.65);
    }

    body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-nav__list[data-jms-nav-scroll="1"]::-webkit-scrollbar-track {
        background: transparent;
    }
}

@media (min-width: 961px) and (min-height: 900px) {
    body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-workspace {
        height: calc(100vh - 9.75rem) !important;
        max-height: calc(100vh - 9.75rem) !important;
    }
}

@media (min-width: 961px) and (max-height: 720px) {
    body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-workspace {
        height: calc(100vh - 9rem) !important;
        max-height: calc(100vh - 9rem) !important;
    }
}

/* ---- css/jms_tg_nav_collapse.css ---- */
/**
 * 压测造数 · 线程组左侧导航收起/展开（隔离：body.lth-tg-view-tree）
 */
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-nav__collapse-btn,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-nav__expand-btn {
    flex: 0 0 auto !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 1.65rem !important;
    height: 1.65rem !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    border-radius: 0.4rem !important;
    background: #fff !important;
    color: #64748b !important;
    cursor: pointer !important;
    box-shadow: none !important;
    transition: background 0.15s, color 0.15s !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-nav__collapse-btn:hover,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-nav__expand-btn:hover {
    background: #f1f5f9 !important;
    color: #334155 !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-nav__collapse-btn:focus-visible,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-nav__expand-btn:focus-visible {
    outline: none !important;
    box-shadow: 0 0 0 2px rgba(45, 212, 191, 0.35) !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-nav__chevron {
    display: block !important;
    flex-shrink: 0 !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-nav__expand-btn {
    display: none !important;
    align-self: flex-start !important;
    margin: 0.65rem 0 0 0 !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-workspace.is-nav-collapsed .jms-tg-tree-nav {
    display: none !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-workspace.is-nav-collapsed .jms-tg-tree-nav__expand-btn {
    display: inline-flex !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-workspace.is-nav-collapsed .jms-tg-tree-main {
    flex: 1 1 auto !important;
    width: 100% !important;
    max-width: 100% !important;
}

@media (max-width: 960px) {
    body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-workspace.is-nav-collapsed .jms-tg-tree-nav__expand-btn {
        margin: 0 0 0.35rem 0 !important;
    }
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-nav__title-group {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.3rem !important;
    flex: 0 0 auto !important;
}

/* ---- css/jms_tg_tree_layout.css ---- */
/**
 * JMeter 压测 · 左侧导航 + 右侧树形工作台（隔离：body.lth-tg-view-tree）
 */

/* 隐藏 legacy 网格，保留 DOM 供 readModelFromDom */
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-plan-card > .jms-plan-tgs,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-plan-tgs--legacy {
    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;
    opacity: 0 !important;
    pointer-events: none !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-plan-card {
    position: relative !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-workspace {
    display: flex !important;
    align-items: stretch !important;
    gap: 0.75rem !important;
    width: 100% !important;
    min-height: min(520px, 62vh) !important;
    padding: 0.65rem 0.75rem 0.75rem !important;
    box-sizing: border-box !important;
}

/* ---- 左栏导航 ---- */
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-nav {
    flex: 0 0 280px !important;
    width: 280px !important;
    max-width: 34vw !important;
    display: flex !important;
    flex-direction: column !important;
    min-height: 0 !important;
    border-radius: 12px !important;
    border: 1px solid rgba(226, 232, 240, 0.9) !important;
    background: rgba(255, 255, 255, 0.97) !important;
    box-shadow: 0 4px 16px rgba(15, 23, 42, 0.06) !important;
    overflow: hidden !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-nav__head {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 0.5rem !important;
    padding: 0.65rem 0.75rem !important;
    border-bottom: 1px solid rgba(226, 232, 240, 0.85) !important;
    background: linear-gradient(180deg, #f8fafc 0%, #f1f5f9 100%) !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-nav__title {
    font-size: 0.8125rem !important;
    font-weight: 800 !important;
    color: #0f172a !important;
    letter-spacing: 0.02em !important;
}



body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-nav__list {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow-y: auto !important;
    padding: 0.45rem !important;
    overscroll-behavior: contain !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-nav__item {
    display: flex !important;
    align-items: center !important;
    gap: 0.06rem !important;
    width: 100% !important;
    margin: 0 0 0.35rem !important;
    padding: 0.2rem 0.35rem 0.2rem 0.2rem !important;
    border: 1px solid transparent !important;
    border-radius: 0.65rem !important;
    background: transparent !important;
    transition: background 0.15s, border-color 0.15s !important;
    pointer-events: auto !important;
    position: relative;
    z-index: 2;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-nav__main {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    display: flex !important;
    align-items: flex-start !important;
    gap: 0.55rem !important;
    margin: 0 !important;
    padding: 0.35rem 0.25rem 0.35rem 0.35rem !important;
    border: none !important;
    border-radius: 0.5rem !important;
    background: transparent !important;
    text-align: left !important;
    cursor: pointer !important;
    color: inherit !important;
    font: inherit !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-nav__del {
    flex: 0 0 auto !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 1.65rem !important;
    height: 1.65rem !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    border-radius: 0.45rem !important;
    background: transparent !important;
    color: #94a3b8 !important;
    cursor: pointer !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transition: opacity 0.15s, background 0.15s, color 0.15s !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-nav__item:hover .jms-tg-tree-nav__del,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-nav__item:focus-within .jms-tg-tree-nav__del {
    opacity: 1 !important;
    pointer-events: auto !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-nav__del:hover {
    background: rgba(239, 68, 68, 0.12) !important;
    color: #dc2626 !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-block--tree .jms-btn-del-tg {
    display: none !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-nav__item:hover {
    background: rgba(240, 253, 250, 0.85) !important;
    border-color: rgba(45, 212, 191, 0.25) !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-nav__item.is-active {
    background: linear-gradient(135deg, rgba(15, 118, 110, 0.12) 0%, rgba(45, 212, 191, 0.1) 100%) !important;
    border-color: rgba(15, 118, 110, 0.35) !important;
    box-shadow: inset 3px 0 0 #0f766e !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-nav__idx {
    flex: 0 0 1.65rem !important;
    height: 1.65rem !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 0.45rem !important;
    background: rgba(148, 163, 184, 0.16) !important;
    color: #334155 !important;
    font-size: 0.6875rem !important;
    font-weight: 800 !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-nav__item.is-active .jms-tg-tree-nav__idx {
    background: #0f766e !important;
    color: #fff !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-nav__body {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 0.15rem !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-nav__name {
    font-size: 0.6875rem !important;
    font-weight: 700 !important;
    color: #0f172a !important;
    line-height: 1.35 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-nav__meta {
    font-size: 0.625rem !important;
    color: #64748b !important;
    line-height: 1.35 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-nav__foot {
    flex-shrink: 0 !important;
    padding: 0.45rem 0.75rem !important;
    border-top: 1px solid rgba(226, 232, 240, 0.85) !important;
    font-size: 0.625rem !important;
    color: #64748b !important;
    text-align: center !important;
}

/* ---- 右栏主区 ---- */
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-main {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    min-height: 0 !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-block--tree {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    border-radius: 12px !important;
    border: 1px solid rgba(226, 232, 240, 0.9) !important;
    background: rgba(255, 255, 255, 0.98) !important;
    box-shadow: 0 4px 18px rgba(15, 23, 42, 0.07) !important;
    overflow: hidden !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-head {
    flex-shrink: 0 !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: 0.06rem !important;
    padding: 0.42rem 0.65rem !important;
    background: linear-gradient(180deg, #f8fafc 0%, #fff 100%) !important;
    border-bottom: 1px solid rgba(226, 232, 240, 0.85) !important;
    min-width: 0 !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-head__icon {
    flex-shrink: 0 !important;
    font-size: 12px !important;
    line-height: 1 !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-block--tree .jms-tg-name--tree,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-block--tree .jms-tg-name {
    flex: 1 1 6rem !important;
    min-width: 4.5rem !important;
    max-width: 11rem !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    padding: 0.2rem 0.42rem !important;
    line-height: 1.35 !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-tools--inline {
    flex: 0 0 auto !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: 0.28rem !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    border: none !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-tools--inline .jms-tg-managers,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-tools--inline .jms-tg-listeners {
    display: contents !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-tools--inline .jms-tg-config-btn,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-tools--inline .jms-tg-listener-btn {
    padding: 0.18rem 0.45rem !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    line-height: 1.25 !important;
    white-space: nowrap !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-head > .jms-tg-tree-head__meta {
    flex: 0 0 auto !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.28rem !important;
    margin-left: auto !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-head .jms-tg-load-badge {
    font-size: 0.625rem !important;
    padding: 0.1rem 0.35rem !important;
    white-space: nowrap !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tree-setup-tag {
    font-size: 0.625rem !important;
    font-weight: 800 !important;
    color: #b45309 !important;
    background: rgba(251, 191, 36, 0.18) !important;
    border-radius: 0.35rem !important;
    padding: 0.12rem 0.4rem !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tree-step-count {
    font-size: 0.6875rem !important;
    font-weight: 600 !important;
    color: #64748b !important;
    background: rgba(148, 163, 184, 0.12) !important;
    border-radius: 0.35rem !important;
    padding: 0.15rem 0.45rem !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-tools:not(.jms-tg-tree-tools--inline) {
    flex-shrink: 0 !important;
    padding: 0.45rem 0.85rem !important;
    background: #f8fafc !important;
    border-bottom: 1px solid rgba(226, 232, 240, 0.65) !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tree-config-strip {
    flex-shrink: 0 !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 0.06rem !important;
    padding: 0.45rem 0.85rem !important;
    background: rgba(240, 253, 250, 0.55) !important;
    border-bottom: 1px dashed rgba(45, 212, 191, 0.28) !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tree-config-chip {
    font-size: 0.625rem !important;
    font-weight: 700 !important;
    color: #0f766e !important;
    background: rgba(255, 255, 255, 0.9) !important;
    border: 1px solid rgba(45, 212, 191, 0.35) !important;
    border-radius: 999px !important;
    padding: 0.12rem 0.5rem !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-steps {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    padding: 0.55rem 0.65rem 0.65rem !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 0.06rem !important;
    background: #fff !important;
}

/* ---- 树节点 ---- */
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tree-node {
    position: relative !important;
    padding-left: calc(0.35rem + var(--jms-tree-depth, 0) * 0.85rem) !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tree-node::before {
    content: "" !important;
    position: absolute !important;
    left: calc(0.15rem + var(--jms-tree-depth, 0) * 0.85rem) !important;
    top: 0.35rem !important;
    bottom: 0.35rem !important;
    width: 2px !important;
    border-radius: 2px !important;
    background: rgba(148, 163, 184, 0.22) !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tree-node--if::before {
    background: rgba(245, 158, 11, 0.45) !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tree-node__index {
    display: none !important;
}

/* HTTP 行：树形模式下解除固定行高 */
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-steps .jms-http-card {
    min-height: 2.35rem !important;
    max-height: none !important;
    height: auto !important;
    padding: 0.38rem 0.5rem !important;
    overflow: visible !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-steps .jms-http-card__main {
    flex-wrap: wrap !important;
    row-gap: 0.2rem !important;
    align-items: center !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-steps .jms-http-name {
    max-width: none !important;
    white-space: normal !important;
    word-break: break-word !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-steps .jms-http-path {
    max-width: 100% !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

/* If 卡片 */
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tree-node--if .jms-if-card {
    width: 100% !important;
    border-radius: 10px !important;
    border: 1px solid rgba(251, 191, 36, 0.35) !important;
    background: rgba(255, 251, 235, 0.65) !important;
    overflow: hidden !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tree-if-toggle {
    flex: 0 0 auto !important;
    border: none !important;
    background: transparent !important;
    color: #b45309 !important;
    font-size: 0.75rem !important;
    cursor: pointer !important;
    padding: 0 0.15rem !important;
    line-height: 1 !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-if-card__body.jms-tree-if-children {
    padding: 0.35rem 0.45rem 0.45rem !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 0.3rem !important;
    background: rgba(255, 255, 255, 0.72) !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-if-card--collapsed .jms-if-card__body,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-if-card--collapsed .jms-if-card__body.jms-tree-if-children {
    display: none !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-if-card__head {
    flex-wrap: wrap !important;
    gap: 0.06rem !important;
}

/* Aux 卡片 */
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tree-node .jms-aux-card {
    width: 100% !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tree-processors {
    margin-top: 0.35rem !important;
    padding: 0.45rem 0.55rem !important;
    border-radius: 0.55rem !important;
    border: 1px dashed rgba(124, 58, 237, 0.28) !important;
    background: rgba(245, 243, 255, 0.65) !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tree-processors__label {
    font-size: 0.625rem !important;
    font-weight: 800 !important;
    color: #6d28d9 !important;
    margin-bottom: 0.25rem !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tree-processor-row {
    font-size: 0.6875rem !important;
    color: #334155 !important;
    padding: 0.15rem 0 !important;
}


/* 顶部工具栏：+ HTTP / ⋯ 与聚合报告同行 */
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-head {
    overflow: visible !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-head-add {
    flex: 0 0 auto !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.28rem !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    background: transparent !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-head-add .jms-btn-add-http {
    padding: 0.18rem 0.45rem !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    line-height: 1.25 !important;
    white-space: nowrap !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-head-add .lth-tg-add-more-btn {
    width: 1.45rem !important;
    height: 1.45rem !important;
    font-size: 12px !important;
    line-height: 1 !important;
    border-radius: 6px !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-head-add .lth-tg-add-more-menu {
    bottom: auto !important;
    top: calc(100% + 0.25rem) !important;
    z-index: 60 !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-block--tree .jms-tg-add-row:not(.jms-tg-tree-head-add) {
    display: none !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-block--tree .jms-tg-add-row {
    flex-shrink: 0 !important;
    border-top: 1px solid rgba(226, 232, 240, 0.85) !important;
    background: #f8fafc !important;
    padding: 0.55rem 0.85rem !important;
}


@media (max-width: 960px) {
    body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-workspace {
        flex-direction: column !important;
        min-height: auto !important;
    }

    body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-nav {
        flex: 0 0 auto !important;
        width: 100% !important;
        max-width: none !important;
        max-height: 12rem !important;
    }

    body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-nav__list {
        display: flex !important;
        flex-direction: row !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        gap: 0.06rem !important;
    }

    body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-nav__item {
        flex: 0 0 11.5rem !important;
        margin: 0 !important;
    }
}

@media (max-width: 640px) {
    body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-workspace {
        padding: 0.45rem !important;
    }
}

/* ---- css/jms_tg_if_scroll_chain_fix.css ---- */
/**
 * 树形视图 · If 控制器区域滚轮链式传递（隔离，不影响左侧导航 overscroll contain）
 */
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-steps {
    overscroll-behavior-y: auto !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-if-card__body.jms-tree-if-children,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-random-card__body.jms-tree-if-children,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-simple-card__body.jms-tree-if-children,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-transaction-card__body.jms-tree-if-children,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-loop-card__body.jms-tree-if-children {
    overflow: visible !important;
    max-height: none !important;
}

/* ---- css/jms_tg_tree_row_layout_fit.css ---- */
/**
 * JMeter · 树形步骤「内容贴合 + 双列」布局（隔离）
 * 解决整行拉满、名称与启用/⋮ 之间大片空白
 */

/* ---- 步骤列表：宽屏双列 wrap，避免 grid 在 flex 容器里被拉伸 ---- */
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-steps {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: flex-start !important;
    align-content: flex-start !important;
    justify-content: flex-start !important;
    gap: 0.28rem 0.45rem !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-steps > .jms-tree-node {
    flex: 1 1 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    align-items: flex-start !important;
    box-sizing: border-box !important;
}

@media (min-width: 900px) {
    body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-steps > .jms-tree-node {
        flex: 0 1 calc(50% - 0.28rem) !important;
        width: calc(50% - 0.28rem) !important;
        max-width: calc(50% - 0.28rem) !important;
    }

    body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-steps > .jms-tree-node--if,
    body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-steps > .jms-tree-node--http.is-selected,
    body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-steps > .jms-tree-node--http:has(.jms-http-context) {
        flex: 1 1 100% !important;
        width: 100% !important;
        max-width: 100% !important;
    }
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-steps .jms-tree-node__body {
    flex: 0 1 auto !important;
    width: auto !important;
    max-width: 100% !important;
    align-items: flex-start !important;
}

/* 覆盖 http_fullwidth：卡片随内容宽度 */
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-steps .jms-tree-node--http .jms-tree-node__body,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-steps .jms-tree-node--http .jms-http-card,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-if-card__body .jms-tree-node--http .jms-http-card,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-if-card__body .jms-tree-node--http .jms-tree-node__body {
    width: auto !important;
    flex: 0 1 auto !important;
    max-width: 100% !important;
    align-self: flex-start !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-steps .jms-tree-node .jms-aux-card,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-steps .jms-tree-node--config .jms-aux-card,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-steps .jms-tree-node--tg-listener .jms-aux-card {
    width: auto !important;
    max-width: 100% !important;
    flex: 0 1 auto !important;
}

/* ---- 卡片：inline 簇，操作区紧跟内容 ---- */
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-steps .jms-http-card,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-steps .jms-aux-card {
    display: inline-flex !important;
    width: auto !important;
    max-width: 100% !important;
    flex: 0 1 auto !important;
    align-items: center !important;
    align-self: flex-start !important;
    flex-wrap: nowrap !important;
    gap: 0.32rem !important;
    border: 1px solid rgba(226, 232, 240, 0.9) !important;
    border-radius: 8px !important;
    background: #fff !important;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05) !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-steps .jms-tree-node:hover > .jms-tree-node__body > .jms-http-card,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-steps .jms-tree-node:hover .jms-aux-card,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-steps .jms-tree-node:focus-within > .jms-tree-node__body > .jms-http-card,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-steps .jms-tree-node:focus-within .jms-aux-card {
    border-color: rgba(148, 163, 184, 0.95) !important;
    background: #f8fafc !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-steps .jms-http-card__main,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-steps .jms-aux-card__content,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-steps .jms-aux-card__content--tree {
    flex: 0 1 auto !important;
    min-width: 0 !important;
    max-width: min(48vw, 380px) !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-steps .jms-http-name {
    max-width: 9rem !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-steps .jms-http-path {
    max-width: 10rem !important;
    flex: 0 1 auto !important;
}

@media (min-width: 900px) {
    body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-steps .jms-http-card__main,
    body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-steps .jms-aux-card__content,
    body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-steps .jms-aux-card__content--tree {
        max-width: min(36vw, 320px) !important;
    }

    body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-steps .jms-http-path {
        max-width: 7.5rem !important;
    }
}

/* 取消 margin-left:auto，启用/⋮ 紧贴内容 */
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-steps .jms-http-card .jms-config-card-toolbar,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-steps .jms-aux-card .jms-config-card-toolbar,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-steps .jms-aux-card .lth-step-actions,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-steps .jms-http-card .lth-step-actions,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-steps .jms-config-card-toolbar .lth-step-actions,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-steps .jms-tree-processor-row .jms-config-card-toolbar,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-steps .jms-tree-processor-row .lth-step-actions,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-steps .lth-step-actions {
    margin-left: 0 !important;
    flex: 0 0 auto !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-steps .jms-config-card-toolbar {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.2rem !important;
    flex: 0 0 auto !important;
}

/* ---- If 控制器：头行贴合，展开后占满 ---- */
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tree-node--if .jms-if-card {
    width: auto !important;
    max-width: 100% !important;
    align-self: flex-start !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-if-card__head {
    display: inline-flex !important;
    width: auto !important;
    max-width: 100% !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: 0.28rem !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-if-card__head .jms-if-card__meta {
    flex: 0 1 auto !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-if-card__head .jms-config-card-toolbar,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-if-card__head .lth-step-actions {
    margin-left: 0 !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tree-node--if .jms-if-card:not(.jms-if-card--collapsed) {
    width: 100% !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-if-card__body .jms-tree-node {
    width: 100% !important;
}

/* 逻辑控制器头行（宽度/右对齐由 jms_logic_ctrl_card_if_unify.css 末位覆盖） */

/* ---- HTTP 选中展开区：独占行宽 ---- */
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tree-node--http.is-selected > .jms-tree-node__body,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tree-node--http:has(.jms-http-context) > .jms-tree-node__body {
    width: 100% !important;
    max-width: 100% !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-http-context {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tree-node--http.is-selected > .jms-tree-node__body > .jms-http-card {
    max-width: 100% !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tree-node--http.is-selected .jms-http-card__main {
    max-width: min(56vw, 480px) !important;
}

/* ---- 处理器行：同样贴合 ---- */
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tree-processor-row {
    display: inline-flex !important;
    width: auto !important;
    max-width: 100% !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: 0.28rem !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tree-processor-row__name {
    flex: 0 1 auto !important;
    max-width: 14rem !important;
}

/* ---- css/jms_tg_tree_steps_single_column_v2.css ---- */
/**
 * Studio v2 · 树形步骤单列全宽（覆盖 row_layout_fit 双列 wrap，隔离模块）
 */
body.lth-studio-v2.lth-hub-jmeter-tab.lth-tg-view-tree .jms-tg-tree-steps {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    align-content: flex-start !important;
    justify-content: flex-start !important;
    gap: 0.06rem !important;
}

body.lth-studio-v2.lth-hub-jmeter-tab.lth-tg-view-tree .jms-tg-tree-steps > .jms-tree-node {
    flex: 0 0 auto !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

body.lth-studio-v2.lth-hub-jmeter-tab.lth-tg-view-tree .jms-tg-tree-steps .jms-tree-node__body {
    display: flex !important;
    flex-direction: row !important;
    align-items: stretch !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

body.lth-studio-v2.lth-hub-jmeter-tab.lth-tg-view-tree .jms-tg-tree-steps .jms-http-card,
body.lth-studio-v2.lth-hub-jmeter-tab.lth-tg-view-tree .jms-tg-tree-steps .jms-aux-card {
    display: flex !important;
    width: 100% !important;
    max-width: 100% !important;
    flex: 1 1 auto !important;
    align-items: center !important;
    align-self: stretch !important;
    box-sizing: border-box !important;
}

body.lth-studio-v2.lth-hub-jmeter-tab.lth-tg-view-tree .jms-tg-tree-steps .jms-tree-node--http .jms-tree-node__body,
body.lth-studio-v2.lth-hub-jmeter-tab.lth-tg-view-tree .jms-tg-tree-steps .jms-tree-node--http .jms-http-card,
body.lth-studio-v2.lth-hub-jmeter-tab.lth-tg-view-tree .jms-if-card__body .jms-tree-node--http .jms-http-card,
body.lth-studio-v2.lth-hub-jmeter-tab.lth-tg-view-tree .jms-if-card__body .jms-tree-node--http .jms-tree-node__body {
    width: 100% !important;
    max-width: 100% !important;
    flex: 1 1 auto !important;
    align-self: stretch !important;
}

body.lth-studio-v2.lth-hub-jmeter-tab.lth-tg-view-tree .jms-tg-tree-steps .jms-http-card__main {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    max-width: none !important;
}

body.lth-studio-v2.lth-hub-jmeter-tab.lth-tg-view-tree .jms-tg-tree-steps .jms-transaction-card,
body.lth-studio-v2.lth-hub-jmeter-tab.lth-tg-view-tree .jms-tg-tree-steps .jms-loop-card,
body.lth-studio-v2.lth-hub-jmeter-tab.lth-tg-view-tree .jms-tg-tree-steps .jms-simple-card,
body.lth-studio-v2.lth-hub-jmeter-tab.lth-tg-view-tree .jms-tg-tree-steps .jms-random-card,
body.lth-studio-v2.lth-hub-jmeter-tab.lth-tg-view-tree .jms-tg-tree-steps .jms-if-card {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

body.lth-studio-v2.lth-hub-jmeter-tab.lth-tg-view-tree .jms-tree-node--http.is-selected .jms-http-card__main {
    max-width: none !important;
}

/* 隐藏步骤序号 */
body.lth-studio-v2.lth-hub-jmeter-tab.lth-tg-view-tree .jms-tree-step-order,
body.lth-studio-v2.lth-hub-jmeter-tab.lth-tg-view-tree .jms-tree-node__index {
    display: none !important;
}

/* ⋯ 菜单统一靠右（覆盖 row_layout_fit 的 margin-left:0） */
body.lth-studio-v2.lth-hub-jmeter-tab.lth-tg-view-tree .jms-tg-tree-steps .jms-http-card,
body.lth-studio-v2.lth-hub-jmeter-tab.lth-tg-view-tree .jms-tg-tree-steps .jms-aux-card {
    flex-wrap: nowrap !important;
    justify-content: flex-start !important;
}

body.lth-studio-v2.lth-hub-jmeter-tab.lth-tg-view-tree .jms-tg-tree-steps .jms-http-card__main,
body.lth-studio-v2.lth-hub-jmeter-tab.lth-tg-view-tree .jms-tg-tree-steps .jms-aux-card__content,
body.lth-studio-v2.lth-hub-jmeter-tab.lth-tg-view-tree .jms-tg-tree-steps .jms-aux-card__content--tree {
    flex: 1 1 auto !important;
    min-width: 0 !important;
}

body.lth-studio-v2.lth-hub-jmeter-tab.lth-tg-view-tree .jms-tg-tree-steps .lth-step-actions,
body.lth-studio-v2.lth-hub-jmeter-tab.lth-tg-view-tree .jms-tg-tree-steps .jms-config-card-toolbar {
    margin-left: auto !important;
    flex: 0 0 auto !important;
}

body.lth-studio-v2.lth-hub-jmeter-tab.lth-tg-view-tree .jms-if-card__head,
body.lth-studio-v2.lth-hub-jmeter-tab.lth-tg-view-tree .jms-random-card__head,
body.lth-studio-v2.lth-hub-jmeter-tab.lth-tg-view-tree .jms-simple-card__head,
body.lth-studio-v2.lth-hub-jmeter-tab.lth-tg-view-tree .jms-transaction-card__head,
body.lth-studio-v2.lth-hub-jmeter-tab.lth-tg-view-tree .jms-loop-card__head {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    width: 100% !important;
}

body.lth-studio-v2.lth-hub-jmeter-tab.lth-tg-view-tree .jms-if-card__head .lth-step-actions,
body.lth-studio-v2.lth-hub-jmeter-tab.lth-tg-view-tree .jms-random-card__head .lth-step-actions,
body.lth-studio-v2.lth-hub-jmeter-tab.lth-tg-view-tree .jms-simple-card__head .lth-step-actions,
body.lth-studio-v2.lth-hub-jmeter-tab.lth-tg-view-tree .jms-transaction-card__head .lth-step-actions,
body.lth-studio-v2.lth-hub-jmeter-tab.lth-tg-view-tree .jms-loop-card__head .lth-step-actions {
    margin-left: auto !important;
}

/* 展开/收起按钮（已改为点击组件本身，隐藏左侧按钮） */
body.lth-studio-v2.lth-hub-jmeter-tab.lth-tg-view-tree .jms-tree-step-toggle {
    display: none !important;
}

/* legacy */
body.lth-studio-v2.lth-hub-jmeter-tab.lth-tg-view-tree .jms-tree-step-toggle {
    flex: 0 0 1.25rem !important;
    width: 1.25rem !important;
    height: 1.25rem !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 0.25rem 0 0 !important;
    padding: 0 !important;
    border: none !important;
    border-radius: 0.06rem !important;
    background: rgba(148, 163, 184, 0.14) !important;
    color: #475569 !important;
    font-size: 0.65rem !important;
    line-height: 1 !important;
    cursor: pointer !important;
    transition: transform 0.15s ease !important;
}

body.lth-studio-v2.lth-hub-jmeter-tab.lth-tg-view-tree .jms-tree-step-toggle[aria-expanded="false"] {
    transform: rotate(-90deg) !important;
}

body.lth-studio-v2.lth-hub-jmeter-tab.lth-tg-view-tree .jms-tree-node--http.jms-tree-node--collapsed > .jms-tree-node__body > .jms-http-context,
body.lth-studio-v2.lth-hub-jmeter-tab.lth-tg-view-tree .jms-tree-node--http.jms-tree-node--collapsed .jms-http-mount-children {
    display: none !important;
}

body.lth-studio-v2.lth-hub-jmeter-tab.lth-tg-view-tree .jms-aux-card--collapsed .jms-aux-card__content,
body.lth-studio-v2.lth-hub-jmeter-tab.lth-tg-view-tree .jms-aux-card--collapsed .jms-aux-card__content--tree {
    display: none !important;
}

body.lth-studio-v2.lth-hub-jmeter-tab.lth-tg-view-tree .jms-if-card--collapsed > .jms-if-card__body,
body.lth-studio-v2.lth-hub-jmeter-tab.lth-tg-view-tree .jms-random-card--collapsed > .jms-random-card__body,
body.lth-studio-v2.lth-hub-jmeter-tab.lth-tg-view-tree .jms-simple-card--collapsed > .jms-simple-card__body,
body.lth-studio-v2.lth-hub-jmeter-tab.lth-tg-view-tree .jms-transaction-card--collapsed > .jms-transaction-card__body,
body.lth-studio-v2.lth-hub-jmeter-tab.lth-tg-view-tree .jms-loop-card--collapsed > .jms-loop-card__body {
    display: none !important;
}

/* ---- css/jms_tg_tree_drag_gutter_fix.css ---- */
/**
 * 树形步骤：隐藏 legacy 时间轴竖线 + 避开拖动手柄（隔离，仅 body.lth-tg-view-tree）
 */

/* legacy 步骤列表左侧时间轴竖线 — 树形模式下与拖动手柄重叠 */
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-steps.jms-tg-tree-steps::before {
    display: none !important;
    content: none !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-steps .jms-tree-node::before {
    pointer-events: none !important;
    z-index: 0 !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-steps .jms-tree-node[data-depth="0"]::before {
    display: none !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-steps .jms-tree-node:not([data-depth="0"])::before {
    left: calc(0.35rem + (var(--jms-tree-depth, 0) - 1) * 0.85rem) !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-steps.jms-tg-tree-steps {
    padding-left: 0.35rem !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tree-drag-handle {
    position: relative !important;
    z-index: 3 !important;
    flex: 0 0 1rem !important;
    width: 1rem !important;
    min-width: 1rem !important;
    margin-right: 0.12rem !important;
    pointer-events: auto !important;
}

/* ---- css/jms_tg_tree_density_compact.css ---- */
/**
 * JMeter · 树形步骤紧凑密度（隔离样式，配合 jms_tg_density_toggle.js）
 */

/* ---- 密度变量 ---- */
body.lth-tg-view-tree.lth-hub-jmeter-tab.jms-density-compact {
    --jms-density-row-h: 2rem;
    --jms-density-row-py: 0.16rem;
    --jms-density-row-px: 0.34rem;
    --jms-density-steps-gap: 0.16rem;
    --jms-density-steps-pad: 0.34rem 0.42rem 0.42rem;
    --jms-density-nav-w: 240px;
    --jms-density-nav-gap: 0.22rem;
    --jms-density-tree-indent: 0.65rem;
    --jms-density-menu-btn: 1.35rem;
    --jms-density-idx: 1.15rem;
    --jms-density-stripe: 2px;
    --jms-density-icon: 1.15rem;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab.jms-density-comfortable {
    --jms-density-row-h: 2.35rem;
    --jms-density-row-py: 0.22rem;
    --jms-density-row-px: 0.42rem;
    --jms-density-steps-gap: 0.28rem;
    --jms-density-steps-pad: 0.48rem 0.55rem 0.55rem;
    --jms-density-nav-w: 260px;
    --jms-density-nav-gap: 0.28rem;
    --jms-density-tree-indent: 0.78rem;
    --jms-density-menu-btn: 1.5rem;
    --jms-density-idx: 1.3rem;
    --jms-density-stripe: 3px;
    --jms-density-icon: 1.3rem;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab.jms-density-dense {
    --jms-density-row-h: 1.75rem;
    --jms-density-row-py: 0.1rem;
    --jms-density-row-px: 0.28rem;
    --jms-density-steps-gap: 0.1rem;
    --jms-density-steps-pad: 0.28rem 0.34rem 0.34rem;
    --jms-density-nav-w: 220px;
    --jms-density-nav-gap: 0.16rem;
    --jms-density-tree-indent: 0.55rem;
    --jms-density-menu-btn: 1.25rem;
    --jms-density-idx: 1rem;
    --jms-density-stripe: 2px;
    --jms-density-icon: 1rem;
}

/* ---- 左侧线程组导航 ---- */
body.lth-tg-view-tree.lth-hub-jmeter-tab[class*="jms-density-"] .jms-tg-tree-nav {
    flex: 0 0 var(--jms-density-nav-w) !important;
    width: var(--jms-density-nav-w) !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab[class*="jms-density-"] .jms-tg-tree-nav__head {
    padding: 0.45rem 0.55rem !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab[class*="jms-density-"] .jms-tg-tree-nav__list {
    padding: 0.32rem !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab[class*="jms-density-"] .jms-tg-tree-nav__item {
    margin-bottom: var(--jms-density-nav-gap) !important;
    padding: 0.12rem 0.22rem 0.12rem 0.12rem !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab[class*="jms-density-"] .jms-tg-tree-nav__main {
    padding: 0.22rem 0.18rem 0.22rem 0.22rem !important;
    gap: 0.38rem !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab[class*="jms-density-"] .jms-tg-tree-nav__idx {
    flex: 0 0 var(--jms-density-idx) !important;
    width: var(--jms-density-idx) !important;
    height: var(--jms-density-idx) !important;
    font-size: 0.625rem !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab[class*="jms-density-"] .jms-tg-tree-nav__name {
    font-size: 0.6875rem !important;
    line-height: 1.25 !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab[class*="jms-density-"] .jms-tg-tree-nav__meta {
    font-size: 0.5625rem !important;
    line-height: 1.2 !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab[class*="jms-density-"] .jms-tg-tree-nav__foot {
    padding: 0.32rem 0.55rem !important;
    font-size: 0.5625rem !important;
}

/* ---- 步骤列表区 ---- */
body.lth-tg-view-tree.lth-hub-jmeter-tab[class*="jms-density-"] .jms-tg-tree-steps {
    gap: var(--jms-density-steps-gap) !important;
    padding: var(--jms-density-steps-pad) !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab[class*="jms-density-"] .jms-tree-node {
    padding-left: calc(0.22rem + var(--jms-tree-depth, 0) * var(--jms-density-tree-indent)) !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab[class*="jms-density-"] .jms-tree-node::before {
    top: 0.18rem !important;
    bottom: 0.18rem !important;
    left: calc(0.72rem + var(--jms-tree-depth, 0) * var(--jms-density-tree-indent)) !important;
}

/* ---- 拖拽手柄：hover 行时显示 ---- */
body.lth-tg-view-tree.lth-hub-jmeter-tab[class*="jms-density-"] .jms-tree-drag-handle {
    opacity: 0 !important;
    flex: 0 0 0 !important;
    width: 0 !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
    transition: opacity 0.12s ease, width 0.12s ease !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab[class*="jms-density-"] .jms-tree-node:hover .jms-tree-drag-handle,
body.lth-tg-view-tree.lth-hub-jmeter-tab[class*="jms-density-"] .jms-tree-node:focus-within .jms-tree-drag-handle,
body.lth-tg-view-tree.lth-hub-jmeter-tab[class*="jms-density-"].jms-tree-step-dragging .jms-tree-drag-handle {
    opacity: 0.55 !important;
    flex: 0 0 0.65rem !important;
    width: 0.65rem !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab[class*="jms-density-"] .jms-tree-node:hover .jms-tree-drag-handle,
body.lth-tg-view-tree.lth-hub-jmeter-tab[class*="jms-density-"] .jms-tree-node:focus-within .jms-tree-drag-handle {
    opacity: 0.85 !important;
}

/* ---- HTTP 步骤行 ---- */
body.lth-tg-view-tree.lth-hub-jmeter-tab[class*="jms-density-"] .jms-tg-tree-steps .jms-http-card {
    min-height: var(--jms-density-row-h) !important;
    max-height: none !important;
    height: auto !important;
    padding: var(--jms-density-row-py) var(--jms-density-row-px) !important;
    margin-bottom: 0 !important;
    gap: 0.28rem !important;
    border: none !important;
    border-radius: 6px !important;
    background: transparent !important;
    box-shadow: none !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab[class*="jms-density-"] .jms-tg-tree-steps .jms-tree-node:hover > .jms-tree-node__body > .jms-http-card:not(.is-disabled),
body.lth-tg-view-tree.lth-hub-jmeter-tab[class*="jms-density-"] .jms-tg-tree-steps .jms-tree-node:focus-within > .jms-tree-node__body > .jms-http-card:not(.is-disabled) {
    background: rgba(248, 250, 252, 0.95) !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab[class*="jms-density-"] .jms-tg-tree-steps .jms-http-card::before {
    width: var(--jms-density-idx) !important;
    height: var(--jms-density-idx) !important;
    font-size: 0.5625rem !important;
    box-shadow: none !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab[class*="jms-density-"] .jms-tg-tree-steps .jms-http-card__main {
    flex-wrap: nowrap !important;
    gap: 0.28rem !important;
    row-gap: 0 !important;
    align-items: center !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab[class*="jms-density-"] .jms-tg-tree-steps .jms-http-method {
    min-width: 2.2rem !important;
    padding: 0.04rem 0.28rem !important;
    font-size: 0.5625rem !important;
    box-shadow: none !important;
    border-width: 1px !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab[class*="jms-density-"] .jms-tg-tree-steps .jms-http-name {
    font-size: 0.6875rem !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    max-width: 8rem !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab[class*="jms-density-"] .jms-tg-tree-steps .jms-http-path {
    font-size: 0.625rem !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab[class*="jms-density-"] .jms-tg-tree-steps .jms-http-card__main .jms-http-assert-badge,
body.lth-tg-view-tree.lth-hub-jmeter-tab[class*="jms-density-"] .jms-tg-tree-steps .jms-http-card__main .jms-http-proc-badge,
body.lth-tg-view-tree.lth-hub-jmeter-tab[class*="jms-density-"] .jms-tg-tree-steps .jms-http-row-mount-badges .jms-http-assert-badge,
body.lth-tg-view-tree.lth-hub-jmeter-tab[class*="jms-density-"] .jms-tg-tree-steps .jms-http-row-mount-badges .jms-http-proc-badge {
    font-size: 9px !important;
    padding: 0.02rem 0.28rem !important;
    line-height: 1.2 !important;
}

/* ---- Aux 步骤行 ---- */
body.lth-tg-view-tree.lth-hub-jmeter-tab[class*="jms-density-"] .jms-tg-tree-steps .jms-tree-node .jms-aux-card {
    min-height: var(--jms-density-row-h) !important;
    height: var(--jms-density-row-h) !important;
    max-height: var(--jms-density-row-h) !important;
    margin-bottom: 0 !important;
    padding: 0 !important;
    border: none !important;
    border-radius: 6px !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: hidden !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab[class*="jms-density-"] .jms-tg-tree-steps .jms-tree-node:hover .jms-aux-card:not(.is-disabled),
body.lth-tg-view-tree.lth-hub-jmeter-tab[class*="jms-density-"] .jms-tg-tree-steps .jms-tree-node:focus-within .jms-aux-card:not(.is-disabled) {
    background: rgba(248, 250, 252, 0.95) !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab[class*="jms-density-"] .jms-tg-tree-steps .jms-aux-card__stripe {
    flex: 0 0 var(--jms-density-stripe) !important;
    width: var(--jms-density-stripe) !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab[class*="jms-density-"] .jms-tg-tree-steps .jms-aux-card__icon {
    flex: 0 0 var(--jms-density-icon) !important;
    width: var(--jms-density-icon) !important;
    font-size: 0.625rem !important;
    background: transparent !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab[class*="jms-density-"] .jms-tg-tree-steps .jms-aux-card__content,
body.lth-tg-view-tree.lth-hub-jmeter-tab[class*="jms-density-"] .jms-tg-tree-steps .jms-aux-card__content--tree {
    padding: 0 0.28rem 0 0 !important;
    gap: 0.22rem !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab[class*="jms-density-"] .jms-tg-tree-steps .jms-aux-card__content--tree .jms-aux-type {
    font-size: 0.5rem !important;
    padding: 0.02rem 0.24rem !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab[class*="jms-density-"] .jms-tg-tree-steps .jms-aux-card__content--tree .jms-aux-name {
    font-size: 0.6875rem !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab[class*="jms-density-"] .jms-tg-tree-steps .jms-aux-card__content--tree .jms-aux-meta {
    font-size: 0.5625rem !important;
}

/* ---- If / 逻辑控制器头 ---- */
body.lth-tg-view-tree.lth-hub-jmeter-tab[class*="jms-density-"] .jms-tree-node--if .jms-if-card {
    border-radius: 6px !important;
    border-width: 1px !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab[class*="jms-density-"] .jms-if-card__head {
    min-height: var(--jms-density-row-h) !important;
    padding: var(--jms-density-row-py) var(--jms-density-row-px) !important;
    gap: 0.22rem !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab[class*="jms-density-"] .jms-if-card__body.jms-tree-if-children {
    padding: 0.22rem 0.28rem 0.28rem !important;
    gap: var(--jms-density-steps-gap) !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab[class*="jms-density-"] .jms-random-card__head,
body.lth-tg-view-tree.lth-hub-jmeter-tab[class*="jms-density-"] .jms-simple-card__head,
body.lth-tg-view-tree.lth-hub-jmeter-tab[class*="jms-density-"] .jms-transaction-card__head,
body.lth-tg-view-tree.lth-hub-jmeter-tab[class*="jms-density-"] .jms-loop-card__head {
    min-height: var(--jms-density-row-h) !important;
    padding: var(--jms-density-row-py) var(--jms-density-row-px) !important;
}

/* ---- 操作区：⋮ / 启用开关 ---- */
body.lth-tg-view-tree.lth-hub-jmeter-tab[class*="jms-density-"] .lth-step-menu-btn {
    width: var(--jms-density-menu-btn) !important;
    height: var(--jms-density-menu-btn) !important;
    min-width: var(--jms-density-menu-btn) !important;
    min-height: var(--jms-density-menu-btn) !important;
    font-size: 0.875rem !important;
    border-radius: 6px !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab[class*="jms-density-"] .jms-tg-sampler-enable-seg {
    padding: 1px !important;
    margin-right: 0.08rem !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab[class*="jms-density-"] .jms-tg-sampler-enable-seg__btn {
    padding: 0.1rem 0.34rem !important;
    font-size: 9px !important;
    min-height: 1.25rem !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab[class*="jms-density-"] .jms-config-card-toolbar .jms-tg-sampler-enable-seg__btn,
body.lth-tg-view-tree.lth-hub-jmeter-tab[class*="jms-density-"] .jms-config-card-toolbar .jms-tg-logic-enable-seg__btn {
    min-height: 1.25rem !important;
}

/* ---- 处理器行 ---- */
body.lth-tg-view-tree.lth-hub-jmeter-tab[class*="jms-density-"] .jms-tree-processors {
    margin-top: 0.18rem !important;
    padding: 0.28rem 0.34rem !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab[class*="jms-density-"] .jms-tree-processor-row {
    padding: 0.06rem 0 !important;
    font-size: 0.625rem !important;
}

/* ---- HTTP 选中展开区 ---- */
body.lth-tg-view-tree.lth-hub-jmeter-tab[class*="jms-density-"] .jms-http-context {
    margin: 0.16rem 0 0.22rem 0 !important;
    padding: 0.32rem 0.38rem 0.36rem !important;
    border-radius: 6px !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab[class*="jms-density-"] .jms-http-context__summary,
body.lth-tg-view-tree.lth-hub-jmeter-tab[class*="jms-density-"] .jms-http-context__toolbar {
    margin-bottom: 0.22rem !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab[class*="jms-density-"] .jms-http-context__proc-row {
    padding: 0.12rem 0 !important;
}

/* ---- 顶栏 / 配置条 ---- */
body.lth-tg-view-tree.lth-hub-jmeter-tab[class*="jms-density-"] .jms-tg-tree-head--single {
    padding: 0.32rem 0.48rem !important;
    gap: 0.24rem !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab[class*="jms-density-"] .jms-tree-config-strip {
    padding: 0.28rem 0.48rem !important;
    gap: 0.22rem !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab[class*="jms-density-"] .jms-tree-config-chip {
    font-size: 0.5625rem !important;
    padding: 0.06rem 0.38rem !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab[class*="jms-density-"] .jms-tg-tree-workspace {
    gap: 0.55rem !important;
    padding: 0.48rem 0.55rem 0.55rem !important;
}

/* ---- 密度切换按钮 ---- */
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-nav__head {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 0.35rem !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-density-toggle-btn {
    flex: 0 0 auto !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0.15rem !important;
    padding: 0.14rem 0.38rem !important;
    border: 1px solid rgba(203, 213, 225, 0.95) !important;
    border-radius: 6px !important;
    background: #fff !important;
    color: #475569 !important;
    font-size: 9px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    cursor: pointer !important;
    white-space: nowrap !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-density-toggle-btn:hover {
    border-color: rgba(45, 212, 191, 0.55) !important;
    color: #0f766e !important;
    background: rgba(240, 253, 250, 0.95) !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-density-toggle-btn__icon {
    font-size: 10px !important;
    line-height: 1 !important;
    opacity: 0.85 !important;
}

/* ---- css/jms_tg_tree_aux_compact.css ---- */
/**
 * 树形视图 · Debug / BeanShell 与 HTTP 行等高 + 文案左对齐（隔离）
 */
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-steps .jms-tree-node .jms-aux-card {
    min-height: 2.35rem !important;
    height: 2.35rem !important;
    max-height: 2.35rem !important;
    margin-bottom: 0 !important;
    padding: 0 !important;
    align-items: center !important;
    justify-content: flex-start !important;
    flex-wrap: nowrap !important;
    overflow: hidden !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-steps .jms-aux-card__stripe {
    align-self: stretch !important;
    flex: 0 0 3px !important;
    width: 3px !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-steps .jms-aux-card__icon {
    flex: 0 0 1.45rem !important;
    width: 1.45rem !important;
    min-height: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 0.7rem !important;
    background: transparent !important;
    align-self: stretch !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-steps .jms-aux-card__content,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-steps .jms-aux-card__content--tree {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    flex-wrap: nowrap !important;
    gap: 0.32rem !important;
    padding: 0 0.35rem 0 0 !important;
    overflow: hidden !important;
    text-align: left !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-steps .jms-aux-card__content--tree .jms-aux-type {
    flex: 0 0 auto !important;
    font-size: 0.5625rem !important;
    padding: 0.06rem 0.32rem !important;
    line-height: 1.25 !important;
    text-align: left !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-steps .jms-aux-card__content--tree .jms-aux-name {
    flex: 0 1 auto !important;
    min-width: 0 !important;
    max-width: none !important;
    font-size: 0.6875rem !important;
    font-weight: 600 !important;
    line-height: 1.25 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    text-align: left !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-steps .jms-aux-card__content--tree .jms-aux-meta {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    font-size: 0.625rem !important;
    line-height: 1.25 !important;
    color: #64748b !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    background: transparent !important;
    text-align: left !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-steps .jms-aux-card .jms-config-card-toolbar {
    flex: 0 0 auto !important;
    display: inline-flex !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    align-self: center !important;
    min-height: 0 !important;
    max-height: 100% !important;
    margin: 0 0.28rem 0 0 !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-steps .jms-aux-card .jms-config-card-toolbar .lth-step-actions {
    position: relative !important;
    flex: 0 0 auto !important;
    margin: 0 !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-steps .jms-aux-card .lth-step-actions {
    flex: 0 0 auto !important;
    align-self: center !important;
    margin: 0 0.28rem 0 0 !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-if-card__body .jms-aux-card {
    margin-bottom: 0 !important;
}

/* ---- css/jms_tg_tree_head_polish.css ---- */
/**
 * 树形线程组详情顶栏：去除生硬竖线、弱化底部分割（隔离）
 */
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-head--single .jms-tg-tree-head__sep {
    display: none !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-head--single .jms-tg-tree-tools--inline {
    gap: 0.38rem !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-head--single .jms-tg-tree-head__group--add {
    padding-right: 0.28rem !important;
    margin-right: 0.12rem !important;
    border-right: none !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-head--single .jms-tg-tree-head__group--settings {
    margin-left: 0 !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-head--single {
    border-bottom: none !important;
    background: linear-gradient(180deg, #f8fafc 0%, #ffffff 100%) !important;
    box-shadow: inset 0 -1px 0 rgba(226, 232, 240, 0.28) !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-head--single .jms-tg-tree-head__group--listeners {
    background: rgba(248, 250, 252, 0.88) !important;
    border-color: rgba(226, 232, 240, 0.55) !important;
}

/* ---- css/jms_tg_tree_head_toolbar.css ---- */
/**
 * JMeter 压测 · 线程组树形详情顶栏工具条（隔离样式 · 单行）
 */
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-head--single {
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: 0.32rem !important;
    padding: 0.42rem 0.6rem !important;
    overflow: visible !important;
    min-width: 0 !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-head--single .jms-tg-tree-head__icon {
    flex-shrink: 0 !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-head--single .jms-tg-name--tree,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-head--single .jms-tg-name {
    flex: 0 1 7.5rem !important;
    min-width: 3.5rem !important;
    max-width: 9rem !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    padding: 0.22rem 0.42rem !important;
    line-height: 1.35 !important;
    border-radius: 7px !important;
    border: 1px solid rgba(226, 232, 240, 0.95) !important;
    background: #fff !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-head--single .jms-tg-tree-tools--inline {
    flex: 1 1 auto !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.28rem !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-head--single .jms-tg-tree-head__meta {
    flex: 0 0 auto !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.22rem !important;
    margin-left: auto !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-head__group {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.22rem !important;
    flex-shrink: 0 !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-head__group--add {
    margin-right: 0 !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-head__group--listeners {
    padding: 0.1rem !important;
    border-radius: 999px !important;
    background: rgba(241, 245, 249, 0.95) !important;
    border: 1px solid rgba(226, 232, 240, 0.95) !important;
    gap: 0.1rem !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-head__sep {
    flex: 0 0 1px !important;
    align-self: stretch !important;
    width: 1px !important;
    min-height: 1.2rem !important;
    background: rgba(203, 213, 225, 0.85) !important;
    margin: 0 0.06rem !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-btn-primary {
    padding: 0.22rem 0.5rem !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    border-radius: 7px !important;
    border: 1px solid rgba(45, 212, 191, 0.55) !important;
    background: linear-gradient(180deg, #ecfdf5 0%, #d1fae5 100%) !important;
    color: #047857 !important;
    white-space: nowrap !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-more-btn {
    width: auto !important;
    height: auto !important;
    min-height: 1.45rem !important;
    padding: 0.2rem 0.4rem !important;
    border-radius: 7px !important;
    border: 1px dashed rgba(148, 163, 184, 0.65) !important;
    background: rgba(255, 255, 255, 0.92) !important;
    color: #475569 !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    white-space: nowrap !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.12rem !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-more-caret {
    font-size: 9px !important;
    opacity: 0.75 !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-add-menu {
    left: 0 !important;
    right: auto !important;
    bottom: auto !important;
    top: calc(100% + 0.25rem) !important;
    min-width: 8.5rem !important;
    z-index: 60 !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-btn-ghost {
    padding: 0.2rem 0.42rem !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    border-radius: 7px !important;
    border: 1px solid rgba(203, 213, 225, 0.95) !important;
    background: #fff !important;
    color: #475569 !important;
    white-space: nowrap !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-btn-ghost.is-on {
    border-color: rgba(45, 212, 191, 0.55) !important;
    background: rgba(240, 253, 250, 0.95) !important;
    color: #0f766e !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-listener-pill {
    padding: 0.18rem 0.4rem !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    border-radius: 999px !important;
    border: none !important;
    background: transparent !important;
    color: #64748b !important;
    white-space: nowrap !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-listener-pill.is-on {
    background: #fff !important;
    color: #0f766e !important;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.08) !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-head-add {
    gap: 0.22rem !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-head--single .jms-tg-load-badge,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-head--single .jms-tree-step-count {
    font-size: 0.625rem !important;
    white-space: nowrap !important;
}

@media (max-width: 900px) {
    body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-head--single {
        overflow-x: auto !important;
        overscroll-behavior-x: contain !important;
    }

    body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-head--single .jms-tg-load-badge {
        display: none !important;
    }
}

/* ---- css/jms_tg_nav_head_center_v1.css ---- */
/* 线程组导航顶栏 · 左标题 / 中 + / 右收起 */
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-nav__head {
  display: grid !important;
  grid-template-columns: 1fr auto 1fr !important;
  align-items: center !important;
  position: relative !important;
  padding: 0.55rem 0.62rem !important;
  gap: 0.25rem !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-nav__title {
  grid-column: 1 !important;
  justify-self: start !important;
  padding-left: 0.2rem !important;
  color: #065f46 !important;
  font-size: 0.8125rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.02em !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-nav__add-btn {
  grid-column: 2 !important;
  justify-self: center !important;
  flex: 0 0 auto !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 1.55rem !important;
  height: 1.55rem !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid rgba(52, 211, 153, 0.55) !important;
  border-radius: 0.42rem !important;
  background: linear-gradient(180deg, #ecfdf5 0%, #d1fae5 100%) !important;
  color: #047857 !important;
  font-size: 1rem !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  cursor: pointer !important;
  box-shadow: 0 1px 4px rgba(16, 185, 129, 0.12) !important;
  transition: background 0.15s, border-color 0.15s, transform 0.12s !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-nav__add-btn:hover {
  border-color: rgba(16, 185, 129, 0.72) !important;
  background: linear-gradient(180deg, #d1fae5 0%, #a7f3d0 100%) !important;
  color: #065f46 !important;
  transform: translateY(-1px) !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-nav__add-btn:focus-visible {
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(52, 211, 153, 0.22) !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-nav__head-right {
  grid-column: 3 !important;
  justify-self: end !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.28rem !important;
  padding-right: 0.18rem !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-nav__collapse-btn {
  margin: 0 !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-density-toggle-btn {
  position: static !important;
  transform: none !important;
  right: auto !important;
  top: auto !important;
}
/* ---- css/jms_tg_tree_http_fullwidth.css ---- */
/**
 * 树形视图 · HTTP 请求行拉满宽度（隔离，不影响 Debug/BeanShell/If）
 */
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-steps .jms-tree-node--http .jms-tree-node__body {
    flex: 1 1 auto !important;
    width: 100% !important;
    min-width: 0 !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-steps .jms-tree-node--http .jms-http-card {
    width: 100% !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    align-self: stretch !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-steps .jms-tree-node--http .jms-http-card__main {
    flex: 1 1 auto !important;
    min-width: 0 !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-if-card__body .jms-tree-node--http .jms-http-card {
    width: 100% !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
}

/* ---- css/jms_tg_tree_inline_actions.css ---- */
/**
 * 树形视图 · 步骤卡片与 ⋯ 菜单布局（隔离样式）
 */
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-http-card .lth-step-actions,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-aux-card .lth-step-actions,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-if-card__head .lth-step-actions,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-random-card__head .lth-step-actions,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-simple-card__head .lth-step-actions,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-transaction-card__head .lth-step-actions,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-loop-card__head .lth-step-actions,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tree-processor-row .lth-step-actions,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-config-card-toolbar .lth-step-actions {
    flex: 0 0 auto !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    position: relative !important;
    overflow: visible !important;
    margin-left: auto !important;
    padding: 0 !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-http-card,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-aux-card,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-if-card__head,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-random-card__head,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-simple-card__head,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-transaction-card__head,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-loop-card__head {
    display: flex !important;
    align-items: center !important;
    gap: 0.28rem !important;
    flex-wrap: wrap !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-http-card__main,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-aux-card__content,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-aux-card__content--tree {
    flex: 1 1 auto !important;
    min-width: 0 !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tree-processor-row {
    display: flex !important;
    align-items: center !important;
    gap: 0.28rem !important;
    flex-wrap: wrap !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tree-processor-row__name {
    flex: 1 1 auto !important;
    min-width: 0 !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-if-card__head .jms-tree-if-toggle,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-if-card__head .jms-if-badge,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-if-card__head .jms-http-name,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-if-card__head .jms-if-card__condition,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-if-card__head .jms-http-assert-badge {
    flex: 0 1 auto !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-steps .jms-tree-node--http:has(.lth-step-actions.is-open),
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-steps .jms-tree-node--http:has(.lth-step-actions.is-hover),
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-steps .jms-http-card:has(.lth-step-actions.is-open),
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-steps .jms-http-card:has(.lth-step-actions.is-hover) {
    overflow: visible !important;
    z-index: 5 !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-steps .jms-http-card .lth-step-actions.is-open,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-steps .jms-http-card .lth-step-actions.is-hover,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-steps .jms-http-card .lth-step-actions.is-measuring {
    position: relative !important;
    z-index: 35 !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-steps .jms-http-card .lth-step-actions.is-open .lth-step-menu,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-steps .jms-http-card .lth-step-actions.is-hover .lth-step-menu,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-steps .jms-http-card .lth-step-actions.is-measuring .lth-step-menu {
    z-index: 40 !important;
}

/* ---- css/jms_tg_tree_listener_btn_polish.css ---- */
/**
 * 线程组树形详情 · 配置按钮选中态（隔离）
 */
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-tools--inline .jms-tg-config-btn.jms-tg-tree-btn-ghost.is-on {
    border-color: rgba(45, 212, 191, 0.55) !important;
    background: rgba(240, 253, 250, 0.95) !important;
    color: #0f766e !important;
}

/* ---- css/jms_tg_tree_more_btn_fix.css ---- */
/**
 * 树形顶栏「更多」按钮：解除固定方框，完整包裹文字与箭头（隔离）
 */
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-head-add .lth-tg-add-more-btn.jms-tg-tree-more-btn {
    width: auto !important;
    height: auto !important;
    min-width: 0 !important;
    min-height: 1.45rem !important;
    padding: 0.2rem 0.42rem !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0.12rem !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
    box-sizing: border-box !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-head-add .jms-tg-tree-more-caret {
    flex: 0 0 auto !important;
    line-height: 1 !important;
}

/* ---- css/jms_tg_tree_steps_bottom_spacer.css ---- */
/**
 * 线程组步骤区 · 底部固定留白（隔离模块）
 * 为逻辑控制器挂载区下拉菜单预留展开空间，避免滚到底部后需二次滚动。
 * 20260702: 18rem -> 9rem，减轻滚到底时步骤区顶部出现的大块固定空白。
 */
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-steps::after {
    content: "";
    display: block;
    flex: 0 0 auto;
    width: 100%;
    min-height: 9rem;
    pointer-events: none;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-steps {
    scroll-padding-bottom: 9rem;
}
/* ---- css/jms_tg_tree_steps_top_pad_compact.css ---- */
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-steps { padding-top: 0.28rem !important; }
body.lth-tg-view-tree.lth-hub-jmeter-tab.jms-density-compact .jms-tg-tree-steps { padding-top: 0.17rem !important; }
body.lth-tg-view-tree.lth-hub-jmeter-tab.jms-density-comfortable .jms-tg-tree-steps { padding-top: 0.24rem !important; }
body.lth-tg-view-tree.lth-hub-jmeter-tab.jms-density-dense .jms-tg-tree-steps { padding-top: 0.14rem !important; }

/* ---- css/jms_logic_ctrl_card_if_unify.css ---- */
/**
 * 逻辑控制器（随机/简单/事务/循环）· 树形卡片对齐 If 控制器（隔离样式 · 末位覆盖）
 * 需在 jms_tg_*_controller_ui.css 之后加载
 */
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tree-node--random .jms-tree-node__body,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tree-node--simple .jms-tree-node__body,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tree-node--transaction .jms-tree-node__body,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tree-node--loop .jms-tree-node__body {
    display: block !important;
}

/* 卡片容器：对齐 If（flex 列布局使 head 可撑满行宽） */
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tree-node--random .jms-random-card,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tree-node--simple .jms-simple-card,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tree-node--transaction .jms-transaction-card,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tree-node--loop .jms-loop-card {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    max-width: 100% !important;
    border-radius: 10px !important;
    border: 1px solid rgba(251, 191, 36, 0.35) !important;
    background: rgba(255, 251, 235, 0.65) !important;
    overflow: hidden !important;
    box-shadow: none !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tree-node--random .jms-random-card:not(.jms-random-card--collapsed),
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tree-node--simple .jms-simple-card:not(.jms-simple-card--collapsed),
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tree-node--transaction .jms-transaction-card:not(.jms-transaction-card--collapsed),
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tree-node--loop .jms-loop-card:not(.jms-loop-card--collapsed) {
    width: 100% !important;
}

/* 头行：全宽 flex，操作区右对齐 */
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-random-card__head,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-simple-card__head,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-transaction-card__head,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-loop-card__head {
    display: flex !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    gap: 0.28rem !important;
    padding: 0.45rem 0.55rem !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    border-bottom: 1px solid rgba(251, 191, 36, 0.18) !important;
    background: rgba(251, 191, 36, 0.08) !important;
}

/* 徽章：对齐 If 控制器 */
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-random-badge,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-simple-badge,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-transaction-badge,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-loop-badge {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 1.65rem !important;
    padding: 0.1rem 0.4rem !important;
    border-radius: 999px !important;
    font-size: 0.625rem !important;
    font-weight: 800 !important;
    letter-spacing: 0.04em !important;
    color: #fcd34d !important;
    background: rgba(251, 191, 36, 0.2) !important;
    border: 1px solid rgba(251, 191, 36, 0.35) !important;
    flex-shrink: 0 !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-random-card__head .jms-http-name,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-simple-card__head .jms-http-name,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-transaction-card__head .jms-http-name,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-loop-card__head .jms-http-name {
    flex: 0 1 auto !important;
    min-width: 0 !important;
    font-weight: 600 !important;
}

/* meta 区：占满中间空间，子步骤徽章样式对齐 If */
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-random-card__head .jms-random-card__meta,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-simple-card__head .jms-simple-card__meta,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-transaction-card__head .jms-transaction-card__meta,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-loop-card__head .jms-loop-card__meta {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.35rem !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    flex-wrap: nowrap !important;
    font-size: 0.68rem !important;
    color: #64748b !important;
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    border-radius: 0 !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-random-card__meta-text,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-simple-card__meta-text,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-transaction-card__meta-text,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-loop-card__meta-text {
    flex: 0 1 auto !important;
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-random-card__child-count,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-simple-card__child-count,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-transaction-card__child-count,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-loop-card__child-count,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-random-card__head > .jms-http-assert-badge,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-simple-card__head > .jms-http-assert-badge,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-transaction-card__head > .jms-http-assert-badge,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-loop-card__head > .jms-http-assert-badge {
    flex: 0 0 auto !important;
    margin-left: 0 !important;
    white-space: nowrap !important;
    font-size: 10px !important;
    line-height: 1.25 !important;
    padding: 0.05rem 0.35rem !important;
    border-radius: 0.2rem !important;
    color: #b45309 !important;
    background: #fffbeb !important;
    border: 1px solid #fde68a !important;
}

/* 启用/停用 + ⋯ 右对齐 */
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-random-card__head .jms-config-card-toolbar,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-simple-card__head .jms-config-card-toolbar,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-transaction-card__head .jms-config-card-toolbar,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-loop-card__head .jms-config-card-toolbar,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-random-card__head .lth-step-actions,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-simple-card__head .lth-step-actions,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-transaction-card__head .lth-step-actions,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-loop-card__head .lth-step-actions {
    flex: 0 0 auto !important;
    margin-left: auto !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-random-card__body.jms-tree-if-children,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-simple-card__body.jms-tree-if-children,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-transaction-card__body.jms-tree-if-children,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-loop-card__body.jms-tree-if-children {
    padding: 0.35rem 0.45rem 0.45rem !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 0.3rem !important;
    background: rgba(255, 255, 255, 0.72) !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-random-card--collapsed .jms-random-card__body,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-simple-card--collapsed .jms-simple-card__body,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-transaction-card--collapsed .jms-transaction-card__body,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-loop-card--collapsed .jms-loop-card__body {
    display: none !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-random-card__body .jms-tree-node,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-simple-card__body .jms-tree-node,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-transaction-card__body .jms-tree-node,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-loop-card__body .jms-tree-node {
    width: 100% !important;
}

@media (min-width: 900px) {
    body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-steps > .jms-tree-node--random,
    body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-steps > .jms-tree-node--simple,
    body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-steps > .jms-tree-node--transaction,
    body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-steps > .jms-tree-node--loop {
        flex: 1 1 100% !important;
        width: 100% !important;
        max-width: 100% !important;
    }
}

/* 树形引导线：对齐 If 琥珀色 */
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tree-node--random::before,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tree-node--simple::before,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tree-node--transaction::before,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tree-node--loop::before {
    background: linear-gradient(180deg, rgba(251, 191, 36, 0.35), rgba(251, 191, 36, 0.08)) !important;
}

/* ---- css/jms_catalog_element_tree_layout_fit.css ---- */
/**
 * catalog_element · 树形步骤区布局对齐（隔离 · 末位覆盖 jms_tg_tree_row_layout_fit）
 * 修复 catalog 控制器在双列 wrap 中被压成窄条、文字串连变形
 */
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tree-node--catalog .jms-tree-node__body {
    display: block !important;
    flex: 1 1 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    align-items: stretch !important;
    box-sizing: border-box !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-steps > .jms-tree-node--catalog {
    flex: 1 1 100% !important;
    width: 100% !important;
    max-width: 100% !important;
}

@media (min-width: 900px) {
    body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-steps > .jms-tree-node--catalog {
        flex: 1 1 100% !important;
        width: 100% !important;
        max-width: 100% !important;
    }
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-steps .jms-tree-node--catalog .jms-catalog-card {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-steps .jms-tree-node:hover > .jms-tree-node__body > .jms-catalog-card,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-steps .jms-tree-node--catalog:focus-within > .jms-tree-node__body > .jms-catalog-card {
    box-shadow: 0 1px 4px rgba(15, 23, 42, 0.08);
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-catalog-card__body.jms-tree-if-children {
    padding: 0.35rem 0.45rem 0.45rem !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 0.3rem !important;
    background: rgba(255, 255, 255, 0.72) !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-catalog-card__body.jms-tree-if-children > .jms-tree-node {
    width: 100% !important;
    max-width: 100% !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tree-node--catalog::before {
    background: linear-gradient(180deg, rgba(251, 191, 36, 0.35), rgba(251, 191, 36, 0.08)) !important;
}

/* legacy 网格（隐藏 legacy 区仍可能被导出预览用到） */
body.lth-hub-jmeter-tab .jms-plan-tgs--legacy .jms-tg-steps .jms-catalog-plan-card {
    width: 100%;
    box-sizing: border-box;
}

/* ---- css/jms_catalog_element_plan_v2.css ---- */
/**
 * catalog_element · legacy 网格原生卡片样式（jms-tg-steps · 不依赖树形视图 class）
 */
body.lth-hub-jmeter-tab .jms-tg-steps .jms-catalog-plan-native {
    width: 100%;
    box-sizing: border-box;
    margin: 0.35rem 0;
}

body.lth-hub-jmeter-tab .jms-tg-steps .jms-transaction-card.jms-catalog-plan-native,
body.lth-hub-jmeter-tab .jms-tg-steps .jms-loop-card.jms-catalog-plan-native,
body.lth-hub-jmeter-tab .jms-tg-steps .jms-simple-card.jms-catalog-plan-native,
body.lth-hub-jmeter-tab .jms-tg-steps .jms-random-card.jms-catalog-plan-native {
    display: flex;
    flex-direction: column;
    width: 100%;
    border-radius: 10px;
    border: 1px solid rgba(251, 191, 36, 0.35);
    background: rgba(255, 251, 235, 0.65);
    overflow: hidden;
}

body.lth-hub-jmeter-tab .jms-tg-steps .jms-transaction-card.jms-catalog-plan-native .jms-transaction-card__head,
body.lth-hub-jmeter-tab .jms-tg-steps .jms-loop-card.jms-catalog-plan-native .jms-loop-card__head,
body.lth-hub-jmeter-tab .jms-tg-steps .jms-simple-card.jms-catalog-plan-native .jms-simple-card__head,
body.lth-hub-jmeter-tab .jms-tg-steps .jms-random-card.jms-catalog-plan-native .jms-random-card__head {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.35rem;
    padding: 0.45rem 0.55rem;
    border-bottom: 1px solid rgba(251, 191, 36, 0.18);
    background: rgba(251, 191, 36, 0.08);
}

body.lth-hub-jmeter-tab .jms-tg-steps .jms-transaction-badge,
body.lth-hub-jmeter-tab .jms-tg-steps .jms-loop-badge,
body.lth-hub-jmeter-tab .jms-tg-steps .jms-simple-badge,
body.lth-hub-jmeter-tab .jms-tg-steps .jms-random-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.65rem;
    padding: 0.1rem 0.4rem;
    border-radius: 999px;
    font-size: 0.625rem;
    font-weight: 800;
    color: #fcd34d;
    background: rgba(251, 191, 36, 0.2);
    border: 1px solid rgba(251, 191, 36, 0.35);
    flex-shrink: 0;
}

body.lth-hub-jmeter-tab .jms-tg-steps .jms-catalog-plan-native .jms-http-name {
    font-weight: 600;
    min-width: 0;
}

body.lth-hub-jmeter-tab .jms-tg-steps .jms-catalog-plan-native .jms-transaction-card__meta,
body.lth-hub-jmeter-tab .jms-tg-steps .jms-catalog-plan-native .jms-loop-card__meta,
body.lth-hub-jmeter-tab .jms-tg-steps .jms-catalog-plan-native .jms-simple-card__meta,
body.lth-hub-jmeter-tab .jms-tg-steps .jms-catalog-plan-native .jms-random-card__meta {
    color: #64748b;
    font-size: 0.62rem;
}

body.lth-hub-jmeter-tab .jms-tg-steps .jms-catalog-plan-native .jms-http-assert-badge {
    margin-left: auto;
    font-size: 0.58rem;
    font-weight: 600;
    color: #c2410c;
    background: rgba(251, 191, 36, 0.22);
    border: 1px solid rgba(251, 191, 36, 0.35);
    border-radius: 999px;
    padding: 0.08rem 0.4rem;
    white-space: nowrap;
}

body.lth-hub-jmeter-tab .jms-tg-steps .jms-transaction-card.jms-catalog-plan-native .jms-transaction-card__body,
body.lth-hub-jmeter-tab .jms-tg-steps .jms-loop-card.jms-catalog-plan-native .jms-loop-card__body,
body.lth-hub-jmeter-tab .jms-tg-steps .jms-simple-card.jms-catalog-plan-native .jms-simple-card__body,
body.lth-hub-jmeter-tab .jms-tg-steps .jms-random-card.jms-catalog-plan-native .jms-random-card__body {
    padding: 0.45rem 0.55rem 0.55rem 0.75rem;
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
    background: rgba(255, 255, 255, 0.72);
}

body.lth-hub-jmeter-tab .jms-tg-steps .jms-aux-card.jms-catalog-plan-native {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    width: 100%;
    padding: 0.45rem 0.55rem;
    border-radius: 10px;
    border: 1px solid rgba(148, 163, 184, 0.45);
    background: rgba(255, 255, 255, 0.92);
    margin: 0.35rem 0;
}

body.lth-hub-jmeter-tab .jms-tg-steps .jms-catalog-plan-native.is-disabled {
    opacity: 0.55;
}

body.lth-hub-jmeter-tab .jms-tg-steps .jms-catalog-plan-card.jms-catalog-plan-native {
    border: 1px solid rgba(251, 191, 36, 0.35);
    border-radius: 10px;
    background: rgba(255, 251, 235, 0.65);
    margin: 0.35rem 0;
    overflow: hidden;
}

body.lth-hub-jmeter-tab .jms-tg-steps .jms-catalog-plan-card.jms-catalog-plan-native .jms-catalog-plan-card__head {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.45rem 0.55rem;
    border-bottom: 1px solid rgba(251, 191, 36, 0.18);
    background: rgba(251, 191, 36, 0.08);
}

/* ---- css/jms_studio_v2_grid_restore.css ---- */
/**
 * Studio v2 · legacy 线程组网格（仅非树形视图；树形由 jms_tg_tree_layout.css 接管）
 */
body.lth-studio-v2.lth-hub-jmeter-tab:not(.lth-tg-view-tree) .jms-tg-tree-host {
    display: none !important;
}

body.lth-studio-v2.lth-hub-jmeter-tab:not(.lth-tg-view-tree) .jms-plan-card > .jms-plan-tgs,
body.lth-studio-v2.lth-hub-jmeter-tab:not(.lth-tg-view-tree) .jms-plan-tgs--legacy,
body.lth-studio-v2.lth-hub-jmeter-tab:not(.lth-tg-view-tree) .jms-plan-tgs {
    position: static !important;
    width: auto !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    overflow: visible !important;
    clip: auto !important;
    clip-path: none !important;
    -webkit-clip-path: none !important;
    white-space: normal !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    visibility: visible !important;
}

body.lth-studio-v2.lth-hub-jmeter-tab:not(.lth-tg-view-tree) .lth-studio-workspace .jms-plan-tgs,
body.lth-studio-v2.lth-hub-jmeter-tab:not(.lth-tg-view-tree) .lth-hub-scope section.lth-studio-workspace .jms-plan-tgs {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0.5rem !important;
    padding: 0.625rem 0.75rem !important;
    align-items: start !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

@media (max-width: 720px) {
    body.lth-studio-v2.lth-hub-jmeter-tab:not(.lth-tg-view-tree) .lth-studio-workspace .jms-plan-tgs {
        grid-template-columns: 1fr !important;
    }
}

body.lth-studio-v2.lth-hub-jmeter-tab:not(.lth-tg-view-tree) .lth-studio-workspace .jms-plan-tgs > .jms-tg-block {
    display: flex !important;
    flex-direction: column !important;
    min-width: 0 !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

body.lth-studio-v2.lth-hub-jmeter-tab:not(.lth-tg-view-tree) .lth-studio-workspace .jms-plan-tgs > .jms-tg-block .jms-tg-steps {
    display: flex !important;
    flex-direction: column !important;
    gap: 0.35rem !important;
    flex: 1 1 auto !important;
    min-height: 8rem !important;
    padding: 0.45rem 0.55rem 0.55rem !important;
    overflow: visible !important;
}

body.lth-studio-v2.lth-hub-jmeter-tab:not(.lth-tg-view-tree) .lth-studio-workspace .jms-plan-tgs > .jms-tg-block .jms-tg-tools {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 0.35rem !important;
}

body.lth-studio-v2.lth-hub-jmeter-tab:not(.lth-tg-view-tree) .lth-studio-workspace .jms-plan-tgs > .jms-tg-block .jms-tg-add-row {
    display: flex !important;
    flex-shrink: 0 !important;
}

/* ---- css/jms_studio_v2_ctrl_cards.css ---- */
/**
 * Studio v2 · legacy 网格内逻辑控制器 + catalog 卡片（对齐 If 控制器 jms_if_card_layout）
 */
body.lth-studio-v2.lth-hub-jmeter-tab .lth-studio-workspace .jms-plan-tgs > .jms-tg-block .jms-tg-steps .jms-transaction-card,
body.lth-studio-v2.lth-hub-jmeter-tab .lth-studio-workspace .jms-plan-tgs > .jms-tg-block .jms-tg-steps .jms-loop-card,
body.lth-studio-v2.lth-hub-jmeter-tab .lth-studio-workspace .jms-plan-tgs > .jms-tg-block .jms-tg-steps .jms-simple-card,
body.lth-studio-v2.lth-hub-jmeter-tab .lth-studio-workspace .jms-plan-tgs > .jms-tg-block .jms-tg-steps .jms-random-card,
body.lth-studio-v2.lth-hub-jmeter-tab .lth-studio-workspace .jms-plan-tgs > .jms-tg-block .jms-tg-steps .jms-catalog-plan-native {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    min-width: 0 !important;
    margin-bottom: 0.35rem !important;
    border-radius: 10px !important;
    border: 1px solid rgba(251, 191, 36, 0.28) !important;
    background: rgba(251, 191, 36, 0.06) !important;
    overflow: hidden !important;
}

body.lth-studio-v2.lth-hub-jmeter-tab .lth-studio-workspace .jms-plan-tgs > .jms-tg-block .jms-tg-steps .jms-transaction-card__head,
body.lth-studio-v2.lth-hub-jmeter-tab .lth-studio-workspace .jms-plan-tgs > .jms-tg-block .jms-tg-steps .jms-loop-card__head,
body.lth-studio-v2.lth-hub-jmeter-tab .lth-studio-workspace .jms-plan-tgs > .jms-tg-block .jms-tg-steps .jms-simple-card__head,
body.lth-studio-v2.lth-hub-jmeter-tab .lth-studio-workspace .jms-plan-tgs > .jms-tg-block .jms-tg-steps .jms-random-card__head,
body.lth-studio-v2.lth-hub-jmeter-tab .lth-studio-workspace .jms-plan-tgs > .jms-tg-block .jms-tg-steps .jms-catalog-plan-card__head {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 0.35rem 0.5rem !important;
    padding: 0.45rem 0.55rem !important;
    border-bottom: 1px solid rgba(251, 191, 36, 0.18) !important;
    background: rgba(251, 191, 36, 0.08) !important;
}

body.lth-studio-v2.lth-hub-jmeter-tab .lth-studio-workspace .jms-plan-tgs > .jms-tg-block .jms-tg-steps .jms-transaction-badge,
body.lth-studio-v2.lth-hub-jmeter-tab .lth-studio-workspace .jms-plan-tgs > .jms-tg-block .jms-tg-steps .jms-loop-badge,
body.lth-studio-v2.lth-hub-jmeter-tab .lth-studio-workspace .jms-plan-tgs > .jms-tg-block .jms-tg-steps .jms-simple-badge,
body.lth-studio-v2.lth-hub-jmeter-tab .lth-studio-workspace .jms-plan-tgs > .jms-tg-block .jms-tg-steps .jms-random-badge,
body.lth-studio-v2.lth-hub-jmeter-tab .lth-studio-workspace .jms-plan-tgs > .jms-tg-block .jms-tg-steps .jms-catalog-plan-badge {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 1.65rem !important;
    padding: 0.1rem 0.4rem !important;
    border-radius: 999px !important;
    font-size: 0.625rem !important;
    font-weight: 800 !important;
    color: #fcd34d !important;
    background: rgba(251, 191, 36, 0.2) !important;
    border: 1px solid rgba(251, 191, 36, 0.35) !important;
    flex-shrink: 0 !important;
}

body.lth-studio-v2.lth-hub-jmeter-tab .lth-studio-workspace .jms-plan-tgs > .jms-tg-block .jms-tg-steps .jms-transaction-card__body,
body.lth-studio-v2.lth-hub-jmeter-tab .lth-studio-workspace .jms-plan-tgs > .jms-tg-block .jms-tg-steps .jms-loop-card__body,
body.lth-studio-v2.lth-hub-jmeter-tab .lth-studio-workspace .jms-plan-tgs > .jms-tg-block .jms-tg-steps .jms-simple-card__body,
body.lth-studio-v2.lth-hub-jmeter-tab .lth-studio-workspace .jms-plan-tgs > .jms-tg-block .jms-tg-steps .jms-random-card__body,
body.lth-studio-v2.lth-hub-jmeter-tab .lth-studio-workspace .jms-plan-tgs > .jms-tg-block .jms-tg-steps .jms-catalog-plan-card__body {
    display: flex !important;
    flex-direction: column !important;
    gap: 0.35rem !important;
    padding: 0.45rem 0.55rem 0.55rem !important;
    background: rgba(255, 255, 255, 0.35) !important;
}

body.lth-studio-v2.lth-hub-jmeter-tab .lth-studio-workspace .jms-plan-tgs > .jms-tg-block .jms-tg-steps .jms-transaction-card__body .jms-http-card,
body.lth-studio-v2.lth-hub-jmeter-tab .lth-studio-workspace .jms-plan-tgs > .jms-tg-block .jms-tg-steps .jms-loop-card__body .jms-http-card,
body.lth-studio-v2.lth-hub-jmeter-tab .lth-studio-workspace .jms-plan-tgs > .jms-tg-block .jms-tg-steps .jms-simple-card__body .jms-http-card,
body.lth-studio-v2.lth-hub-jmeter-tab .lth-studio-workspace .jms-plan-tgs > .jms-tg-block .jms-tg-steps .jms-random-card__body .jms-http-card {
    margin-bottom: 0 !important;
}

body.lth-studio-v2.lth-hub-jmeter-tab .lth-studio-workspace .jms-plan-tgs > .jms-tg-block .jms-tg-steps .jms-aux-card.jms-aux-card--debug,
body.lth-studio-v2.lth-hub-jmeter-tab .lth-studio-workspace .jms-plan-tgs > .jms-tg-block .jms-tg-steps .jms-aux-card.jms-catalog-plan-native {
    display: flex !important;
    align-items: center !important;
    gap: 0.35rem !important;
    width: 100% !important;
    padding: 0.45rem 0.55rem !important;
    margin-bottom: 0.35rem !important;
    border-radius: 10px !important;
    border: 1px solid rgba(148, 163, 184, 0.45) !important;
    background: rgba(255, 255, 255, 0.92) !important;
    box-sizing: border-box !important;
}

body.lth-studio-v2.lth-hub-jmeter-tab .lth-studio-workspace .jms-plan-tgs > .jms-tg-block .jms-tg-steps .jms-http-assert-badge {
    flex-shrink: 0 !important;
    white-space: nowrap !important;
}

body.lth-studio-v2.lth-hub-jmeter-tab .lth-studio-workspace .jms-plan-tgs > .jms-tg-block .jms-tg-steps .jms-if-card {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
}

/* ---- css/jms_catalog_sampler_ctrl_compact.css ---- */
/**
 * catalog 取样器/控制器 · 折叠态与头行点击（挂载区样式由 logic_mount_toolbar_polish 统一）
 */
body.lth-studio-v2.lth-hub-jmeter-tab.lth-tg-view-tree .jms-catalog-card--expandable .jms-catalog-card__head,
body.lth-studio-v2.lth-hub-jmeter-tab.lth-tg-view-tree .jms-if-card__head,
body.lth-studio-v2.lth-hub-jmeter-tab.lth-tg-view-tree .jms-random-card__head,
body.lth-studio-v2.lth-hub-jmeter-tab.lth-tg-view-tree .jms-simple-card__head,
body.lth-studio-v2.lth-hub-jmeter-tab.lth-tg-view-tree .jms-transaction-card__head,
body.lth-studio-v2.lth-hub-jmeter-tab.lth-tg-view-tree .jms-loop-card__head,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-catalog-card--expandable .jms-catalog-card__head {
    cursor: pointer;
}

body.lth-studio-v2.lth-hub-jmeter-tab.lth-tg-view-tree .jms-catalog-card--expandable,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-catalog-card--expandable {
    cursor: pointer;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-catalog-card--collapsed .jms-catalog-mount-context,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-catalog-card--collapsed .jms-if-mount-context,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-catalog-card--collapsed .jms-catalog-card__body {
    display: none !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-aux-card.jms-catalog-card--expandable.jms-catalog-card--collapsed .jms-catalog-card__body {
    display: none !important;
}

/* ---- css/jms_catalog_menu_v2.css ---- */
/* JMeter Studio V2 · catalog 菜单：隐藏硬编码项，fixed 弹层避免被底部裁切 */
body.lth-jmeter-catalog-v2.lth-hub-jmeter-tab .jms-tg-post-proc-menu,
body.lth-jmeter-catalog-v2.lth-hub-jmeter-tab .jms-tg-logic-ctrl-menu,
body.lth-jmeter-catalog-v2.lth-hub-jmeter-tab .jms-tg-sampler-menu,
body.lth-jmeter-catalog-v2.lth-hub-jmeter-tab .jms-tg-assert-menu,
body.lth-jmeter-catalog-v2.lth-hub-jmeter-tab .jms-tg-listener-menu,
body.lth-jmeter-catalog-v2.lth-hub-jmeter-tab .jms-http-ctx-proc-menu,
body.lth-jmeter-catalog-v2.lth-hub-jmeter-tab .jms-http-ctx-preproc-menu,
body.lth-jmeter-catalog-v2.lth-hub-jmeter-tab .jms-http-ctx-timer-menu,
body.lth-jmeter-catalog-v2.lth-hub-jmeter-tab .jms-http-ctx-config-menu,
body.lth-jmeter-catalog-v2.lth-hub-jmeter-tab .jms-http-ctx-assert-menu,
body.lth-jmeter-catalog-v2.lth-hub-jmeter-tab .jms-http-ctx-listener-menu,
body.lth-jmeter-catalog-v2.lth-hub-jmeter-tab .jms-http-ctx-logic-menu,
body.lth-jmeter-catalog-v2.lth-hub-jmeter-tab .jms-if-mount-ctx-menu {
    display: none !important;
    pointer-events: none !important;
}

body.lth-jmeter-catalog-v2 .jms-v2-catalog-popup {
    position: fixed;
    z-index: 12060;
    min-width: 12rem;
    max-width: 20rem;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background: #fff;
    border: 1px solid #cbd5e1;
    border-radius: 0.5rem;
    box-shadow: 0 16px 40px rgba(15, 23, 42, 0.18);
    padding: 0;
}

body.lth-jmeter-catalog-v2.jms-v2-catalog-popup-open .hf-site-footer,
body.lth-jmeter-catalog-v2.jms-v2-catalog-popup-open footer {
    z-index: 1;
}

body.lth-jmeter-catalog-v2 .jms-v2-catalog-popup__head {
    flex: 0 0 auto;
    font-size: 0.62rem;
    color: #64748b;
    margin: 0;
    padding: 0.42rem 0.5rem 0.34rem;
    line-height: 1.35;
    background: #fff;
    border-bottom: 1px solid rgba(226, 232, 240, 0.95);
    z-index: 2;
}

body.lth-jmeter-catalog-v2 .jms-v2-catalog-popup__body {
    flex: 1 1 auto;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
    padding: 0.28rem 0.35rem 0.35rem;
    -webkit-overflow-scrolling: touch;
}

body.lth-jmeter-catalog-v2 .jms-v2-catalog-popup__n { color: #0d9488; }

body.lth-jmeter-catalog-v2 .jms-v2-catalog-popup__item {
    display: block;
    width: 100%;
    text-align: left;
    border: 0;
    background: transparent;
    font-size: 0.68rem;
    padding: 0.38rem 0.5rem;
    border-radius: 0.35rem;
    cursor: pointer;
    color: #0f172a;
}

body.lth-jmeter-catalog-v2 .jms-v2-catalog-popup__item:hover {
    background: #f0fdfa;
    color: #0f766e;
}

body.lth-jmeter-catalog-v2 .jms-v2-catalog-popup__empty {
    font-size: 0.62rem;
    color: #94a3b8;
    margin: 0;
    padding: 0.5rem;
}

body.lth-jmeter-catalog-v2 .jms-v2-add-wrap {
    display: inline-flex;
    gap: 0.25rem;
    margin-left: 0.35rem;
    vertical-align: middle;
}

body.lth-jmeter-catalog-v2 .jms-v2-add-btn {
    font-size: 0.68rem;
    padding: 0.25rem 0.55rem;
    border-radius: 0.35rem;
    border: 1px solid #99f6e4;
    background: #f0fdfa;
    cursor: pointer;
    color: #0f766e;
}

body.lth-jmeter-catalog-v2 .jms-v2-add-btn:hover {
    background: #ccfbf1;
}

/* cfgdrop1: TG 配置元件原生下拉（catalog v2 不隐藏 positioning） */
body.lth-jmeter-catalog-v2.lth-hub-jmeter-tab.lth-tg-view-tree .jms-tg-tree-head__group--settings > .jms-tg-config-more {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
}

body.lth-jmeter-catalog-v2.lth-hub-jmeter-tab.lth-tg-view-tree .jms-tg-config-more.is-open > .jms-tg-config-menu {
    display: block !important;
    position: absolute !important;
    right: 0 !important;
    top: calc(100% + 0.22rem) !important;
    left: auto !important;
    z-index: 12050 !important;
    min-width: 11rem !important;
    max-width: 16rem !important;
    width: max-content !important;
    padding: 0.28rem !important;
    margin: 0 !important;
    border-radius: 10px !important;
    border: 1px solid rgba(199, 210, 254, 0.95) !important;
    background: #fff !important;
    box-shadow: 0 10px 28px rgba(15, 23, 42, 0.14) !important;
    pointer-events: auto !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    overflow: hidden !important;
}

body.lth-jmeter-catalog-v2.lth-hub-jmeter-tab.lth-tg-view-tree .jms-tg-config-more.is-open > .jms-tg-config-menu > .jms-tg-config-menu-item {
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

body.lth-jmeter-catalog-v2.lth-hub-jmeter-tab .jms-tg-post-proc-more.jms-v2-native-fallback.is-open .jms-tg-post-proc-menu,
body.lth-jmeter-catalog-v2.lth-hub-jmeter-tab .jms-tg-logic-ctrl-more.jms-v2-native-fallback.is-open .jms-tg-logic-ctrl-menu,
body.lth-jmeter-catalog-v2.lth-hub-jmeter-tab .jms-tg-sampler-more.jms-v2-native-fallback.is-open .jms-tg-sampler-menu,
body.lth-jmeter-catalog-v2.lth-hub-jmeter-tab .jms-tg-assert-more.jms-v2-native-fallback.is-open .jms-tg-assert-menu,
body.lth-jmeter-catalog-v2.lth-hub-jmeter-tab .jms-tg-listener-more.jms-v2-native-fallback.is-open .jms-tg-listener-menu,
body.lth-jmeter-catalog-v2.lth-hub-jmeter-tab .jms-http-ctx-proc-more.jms-v2-native-fallback.is-open .jms-http-ctx-proc-menu,
body.lth-jmeter-catalog-v2.lth-hub-jmeter-tab .jms-http-ctx-preproc-more.jms-v2-native-fallback.is-open .jms-http-ctx-preproc-menu,
body.lth-jmeter-catalog-v2.lth-hub-jmeter-tab .jms-http-ctx-timer-more.jms-v2-native-fallback.is-open .jms-http-ctx-timer-menu,
body.lth-jmeter-catalog-v2.lth-hub-jmeter-tab .jms-http-ctx-config-more.jms-v2-native-fallback.is-open .jms-http-ctx-config-menu,
body.lth-jmeter-catalog-v2.lth-hub-jmeter-tab .jms-http-ctx-assert-more.jms-v2-native-fallback.is-open .jms-http-ctx-assert-menu,
body.lth-jmeter-catalog-v2.lth-hub-jmeter-tab .jms-http-ctx-listener-more.jms-v2-native-fallback.is-open .jms-http-ctx-listener-menu,
body.lth-jmeter-catalog-v2.lth-hub-jmeter-tab .jms-http-ctx-logic-more.jms-v2-native-fallback.is-open .jms-http-ctx-logic-menu,
body.lth-jmeter-catalog-v2.lth-hub-jmeter-tab .jms-if-mount-ctx-sampler-more.jms-v2-native-fallback.is-open .jms-if-mount-ctx-menu,
body.lth-jmeter-catalog-v2.lth-hub-jmeter-tab .jms-if-mount-ctx-logic-more.jms-v2-native-fallback.is-open .jms-if-mount-ctx-menu,
body.lth-jmeter-catalog-v2.lth-hub-jmeter-tab .jms-if-mount-ctx-assert-more.jms-v2-native-fallback.is-open .jms-if-mount-ctx-menu,
body.lth-jmeter-catalog-v2.lth-hub-jmeter-tab .jms-if-mount-ctx-timer-more.jms-v2-native-fallback.is-open .jms-if-mount-ctx-menu,
body.lth-jmeter-catalog-v2.lth-hub-jmeter-tab .jms-if-mount-ctx-preproc-more.jms-v2-native-fallback.is-open .jms-if-mount-ctx-menu,
body.lth-jmeter-catalog-v2.lth-hub-jmeter-tab .jms-if-mount-ctx-proc-more.jms-v2-native-fallback.is-open .jms-if-mount-ctx-menu,
body.lth-jmeter-catalog-v2.lth-hub-jmeter-tab .jms-if-mount-ctx-config-more.jms-v2-native-fallback.is-open .jms-if-mount-ctx-menu,
body.lth-jmeter-catalog-v2.lth-hub-jmeter-tab .jms-if-mount-ctx-listener-more.jms-v2-native-fallback.is-open .jms-if-mount-ctx-menu {
    display: block !important;
    pointer-events: auto !important;
}

/* dropclose1: 原生 TG 菜单打开时也统一收回其它下拉 */
body.lth-jmeter-catalog-v2.lth-hub-jmeter-tab.lth-tg-view-tree .jms-tg-config-more.is-open > .jms-tg-config-menu,
body.lth-jmeter-catalog-v2.lth-hub-jmeter-tab.lth-tg-view-tree .jms-tg-logic-ctrl-more.is-open > .jms-tg-logic-ctrl-menu,
body.lth-jmeter-catalog-v2.lth-hub-jmeter-tab.lth-tg-view-tree .jms-tg-sampler-more.is-open > .jms-tg-sampler-menu,
body.lth-jmeter-catalog-v2.lth-hub-jmeter-tab.lth-tg-view-tree .jms-tg-post-proc-more.is-open > .jms-tg-post-proc-menu,
body.lth-jmeter-catalog-v2.lth-hub-jmeter-tab.lth-tg-view-tree .jms-tg-assert-more.is-open > .jms-tg-assert-menu,
body.lth-jmeter-catalog-v2.lth-hub-jmeter-tab.lth-tg-view-tree .jms-tg-listener-more.is-open > .jms-tg-listener-menu {
    overflow: hidden !important;
}

/* ---- css/jms_catalog_element_tree.css ---- */
/* JMeter catalog_element · 树节点与卡片 */
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-catalog-card {
    border: 1px solid rgba(148, 163, 184, 0.55);
    border-radius: 8px;
    background: #fff;
    margin: 0.15rem 0;
}
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-catalog-card__head {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.35rem 0.45rem;
    font-size: 0.68rem;
}
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-catalog-badge {
    font-size: 0.58rem;
    font-weight: 700;
    padding: 0.1rem 0.35rem;
    border-radius: 4px;
    background: #ecfeff;
    color: #0e7490;
}
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-catalog-card.is-disabled {
    opacity: 0.55;
}
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-http-context__catalog-children {
    margin-top: 0.45rem;
    padding: 0.35rem 0.5rem;
    border-top: 1px dashed rgba(148, 163, 184, 0.45);
}
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-http-context__catalog-child-row {
    display: flex;
    gap: 0.35rem;
    align-items: center;
    font-size: 0.62rem;
    padding: 0.2rem 0;
    cursor: pointer;
}
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-http-context__catalog-child-row:hover {
    color: #0f766e;
}
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-catalog-card--expandable .jms-catalog-card__head {
    cursor: pointer;
    user-select: none;
}
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-catalog-card--expandable .jms-catalog-card__head::before {
    content: '▾';
    display: inline-block;
    width: 0.85rem;
    color: #64748b;
    font-size: 0.62rem;
    flex-shrink: 0;
}
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-catalog-card--expandable.jms-catalog-card--collapsed .jms-catalog-card__head::before {
    content: '▸';
}
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-catalog-card--expandable.jms-catalog-card--collapsed .jms-catalog-card__body {
    display: none;
}
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-catalog-card__body--summary {
    padding: 0.35rem 0.55rem 0.45rem 1.25rem;
    font-size: 0.62rem;
    border-top: 1px dashed rgba(148, 163, 184, 0.35);
}
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-catalog-card__summary-row {
    display: flex;
    gap: 0.35rem;
    padding: 0.12rem 0;
}
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-catalog-card__summary-label {
    color: #64748b;
    min-width: 5.5rem;
    flex-shrink: 0;
}
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-catalog-card__summary-val {
    color: #0f172a;
    word-break: break-all;
}
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-catalog-card__summary-comments {
    margin-top: 0.25rem;
    color: #475569;
    font-style: italic;
}
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-catalog-card__meta {
    margin-left: auto;
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.58rem;
    color: #64748b;
}

/* ---- css/jms_catalog_element_editor.css ---- */
/**
 * JMeter catalog_element · 添加后配置弹窗
 */
body.lth-hub-jmeter-tab #jms-catalog-element-editor-modal {
    position: fixed;
    inset: 0;
    z-index: 12100;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 1.5rem;
    pointer-events: none;
    color: #1e293b;
}

body.lth-hub-jmeter-tab #jms-catalog-element-editor-modal.jms-modal-open {
    display: flex !important;
    pointer-events: auto;
}

body.lth-hub-jmeter-tab #jms-catalog-element-editor-modal .jms-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, 0.36);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
}

body.lth-hub-jmeter-tab #jms-catalog-element-editor-modal .jms-modal__panel {
    position: relative;
    width: min(100%, 34rem);
    max-height: min(80vh, 40rem);
    display: flex;
    flex-direction: column;
    border-radius: 0.875rem;
    border: 1px solid rgba(226, 232, 240, 0.96);
    background: #ffffff;
    box-shadow: 0 24px 48px rgba(15, 23, 42, 0.18);
    overflow: hidden;
    color: #1e293b;
}

body.lth-hub-jmeter-tab #jms-catalog-element-editor-modal .jms-modal__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 1rem 1.15rem 0.75rem;
    border-bottom: 1px solid rgba(226, 232, 240, 0.9);
}

body.lth-hub-jmeter-tab #jms-catalog-element-editor-modal .jms-modal__title {
    margin: 0;
    font-size: 1.05rem;
    font-weight: 600;
    color: #0f172a;
}

body.lth-hub-jmeter-tab #jms-catalog-element-editor-modal .jms-modal__close {
    border: 0;
    background: transparent;
    color: #475569;
    font-size: 1.35rem;
    line-height: 1;
    cursor: pointer;
    padding: 0.15rem 0.35rem;
    border-radius: 0.375rem;
}

body.lth-hub-jmeter-tab #jms-catalog-element-editor-modal .jms-modal__close:hover {
    color: #0f172a;
}

body.lth-hub-jmeter-tab #jms-catalog-element-editor-modal .jms-modal__body {
    padding: 0.85rem 1.15rem;
    overflow: auto;
    color: #1e293b;
}

body.lth-hub-jmeter-tab #jms-catalog-element-editor-modal .jms-modal__foot {
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
    padding: 0.75rem 1.15rem 1rem;
    border-top: 1px solid rgba(226, 232, 240, 0.9);
}

body.lth-hub-jmeter-tab #jms-catalog-element-editor-modal .jms-catalog-editor__alias {
    font-size: 0.8125rem;
    color: #334155;
    margin: 0 0 0.65rem;
    font-weight: 500;
}

body.lth-hub-jmeter-tab #jms-catalog-element-editor-modal .jms-field {
    margin-bottom: 0.65rem;
}

body.lth-hub-jmeter-tab #jms-catalog-element-editor-modal .jms-field label {
    display: block;
    font-size: 0.8125rem;
    font-weight: 500;
    color: #1e293b;
    margin-bottom: 0.3rem;
}

body.lth-hub-jmeter-tab #jms-catalog-element-editor-modal .jms-field label input[type="checkbox"] {
    margin-right: 0.35rem;
    accent-color: #4f46e5;
}

body.lth-hub-jmeter-tab #jms-catalog-element-editor-modal .jms-field input[type="text"],
body.lth-hub-jmeter-tab #jms-catalog-element-editor-modal .jms-field input[type="number"],
body.lth-hub-jmeter-tab #jms-catalog-element-editor-modal .jms-field textarea,
body.lth-hub-jmeter-tab #jms-catalog-element-editor-modal .jms-field select {
    width: 100%;
    font-size: 0.875rem;
    line-height: 1.45;
    padding: 0.45rem 0.55rem;
    border: 1px solid #94a3b8;
    border-radius: 6px;
    color: #0f172a !important;
    -webkit-text-fill-color: #0f172a !important;
    caret-color: #0f172a;
    background: #ffffff !important;
}

body.lth-hub-jmeter-tab #jms-catalog-element-editor-modal .jms-field input::placeholder,
body.lth-hub-jmeter-tab #jms-catalog-element-editor-modal .jms-field textarea::placeholder {
    color: #64748b;
    opacity: 1;
}

body.lth-hub-jmeter-tab #jms-catalog-element-editor-modal .jms-field input:focus,
body.lth-hub-jmeter-tab #jms-catalog-element-editor-modal .jms-field textarea:focus,
body.lth-hub-jmeter-tab #jms-catalog-element-editor-modal .jms-field select:focus {
    outline: none;
    border-color: #6366f1;
    box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.15);
}

body.lth-hub-jmeter-tab #jms-catalog-element-editor-modal .jms-field input:-webkit-autofill,
body.lth-hub-jmeter-tab #jms-catalog-element-editor-modal .jms-field input:-webkit-autofill:focus,
body.lth-hub-jmeter-tab #jms-catalog-element-editor-modal .jms-field textarea:-webkit-autofill,
body.lth-hub-jmeter-tab #jms-catalog-element-editor-modal .jms-field textarea:-webkit-autofill:focus {
    -webkit-text-fill-color: #0f172a !important;
    box-shadow: 0 0 0 1000px #ffffff inset !important;
}

body.lth-hub-jmeter-tab #jms-catalog-element-editor-modal .jms-field textarea {
    min-height: 5.5rem;
    font-family: ui-monospace, monospace;
}

body.lth-hub-jmeter-tab #jms-catalog-element-editor-modal .jms-field select option {
    color: #0f172a;
    background: #ffffff;
}

body.lth-hub-jmeter-tab #jms-catalog-element-editor-modal .jms-catalog-kv-add {
    color: #1e293b;
    font-size: 0.8125rem;
}

body.lth-hub-jmeter-tab #jms-catalog-element-editor-modal .jms-catalog-kv-list {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    margin-bottom: 0.35rem;
}

body.lth-hub-jmeter-tab #jms-catalog-element-editor-modal .jms-catalog-kv-row {
    display: grid;
    grid-template-columns: 1fr 1fr auto;
    gap: 0.35rem;
    align-items: center;
}

body.lth-hub-jmeter-tab #jms-catalog-element-editor-modal .jms-catalog-kv-row input {
    width: 100%;
    font-size: 0.875rem;
    line-height: 1.45;
    padding: 0.45rem 0.55rem;
    border: 1px solid #94a3b8;
    border-radius: 6px;
    color: #0f172a !important;
    -webkit-text-fill-color: #0f172a !important;
    caret-color: #0f172a;
    background: #ffffff !important;
}

body.lth-hub-jmeter-tab #jms-catalog-element-editor-modal .jms-catalog-kv-del {
    color: #475569;
    font-size: 1rem;
}

body.lth-hub-jmeter-tab #jms-catalog-element-editor-modal .jms-catalog-kv-del:hover {
    color: #dc2626;
}

/* 非计划级：隐藏绿色主题专用 chrome，保留紧凑布局 */
body.lth-hub-jmeter-tab #jms-catalog-element-editor-modal:not([data-plan-level="1"]) .jms-pcat-editor__badge,
body.lth-hub-jmeter-tab #jms-catalog-element-editor-modal:not([data-plan-level="1"]) .jms-pcat-editor__icon {
    display: none;
}

body.lth-hub-jmeter-tab #jms-catalog-element-editor-modal:not([data-plan-level="1"]) .jms-pcat-editor__alias {
    font-size: 0.8125rem;
    color: #334155;
    margin: 0.15rem 0 0;
}

body.lth-hub-jmeter-tab #jms-catalog-element-editor-modal:not([data-plan-level="1"]) .jms-pcat-editor__row--meta {
    display: block;
}

body.lth-hub-jmeter-tab #jms-catalog-element-editor-modal:not([data-plan-level="1"]) .jms-pcat-editor__chip--enabled {
    display: block;
    margin: 0.35rem 0 0.65rem;
}

body.lth-hub-jmeter-tab #jms-catalog-element-editor-modal:not([data-plan-level="1"]) .jms-pcat-editor__sheet {
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
}

/* ---- css/jms_catalog_element_tree_unify.css ---- */
/**
 * catalog_element · 树形步骤区样式对齐（逻辑控制器 / HTTP 卡片，隔离模块 · 末位覆盖）
 */
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tree-node--catalog .jms-tree-node__body {
    display: block !important;
    flex: 1 1 100% !important;
    width: 100% !important;
    max-width: 100% !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tree-node--catalog .jms-catalog-card {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    max-width: 100% !important;
    border-radius: 10px !important;
    border: 1px solid rgba(251, 191, 36, 0.35) !important;
    background: rgba(255, 251, 235, 0.65) !important;
    overflow: hidden !important;
    box-shadow: none !important;
    margin: 0.15rem 0 !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tree-node--catalog .jms-catalog-card__head {
    display: flex !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    gap: 0.28rem !important;
    padding: 0.45rem 0.55rem !important;
    width: 100% !important;
    box-sizing: border-box !important;
    border-bottom: 1px solid rgba(251, 191, 36, 0.18) !important;
    background: rgba(251, 191, 36, 0.08) !important;
    cursor: pointer;
    user-select: none;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tree-node--catalog .jms-catalog-badge {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 1.65rem !important;
    padding: 0.1rem 0.4rem !important;
    border-radius: 999px !important;
    font-size: 0.625rem !important;
    font-weight: 800 !important;
    letter-spacing: 0.04em !important;
    color: #fcd34d !important;
    background: rgba(251, 191, 36, 0.2) !important;
    border: 1px solid rgba(251, 191, 36, 0.35) !important;
    flex-shrink: 0 !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tree-node--catalog .jms-catalog-card__head .jms-http-name {
    flex: 0 1 auto !important;
    min-width: 0 !important;
    font-weight: 600 !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tree-node--catalog .jms-catalog-card__meta {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.35rem !important;
    margin-left: auto !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    flex-wrap: nowrap !important;
    font-size: 0.58rem !important;
    color: #64748b !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tree-node--catalog .jms-catalog-card__meta-text {
    flex: 0 1 auto !important;
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tree-node--catalog .jms-catalog-card__child-count {
    display: inline-flex !important;
    align-items: center !important;
    padding: 0.08rem 0.4rem !important;
    border-radius: 999px !important;
    font-size: 0.58rem !important;
    font-weight: 600 !important;
    color: #c2410c !important;
    background: rgba(251, 191, 36, 0.22) !important;
    border: 1px solid rgba(251, 191, 36, 0.35) !important;
    white-space: nowrap !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tree-node--catalog .jms-catalog-card__head .jms-btn-edit-catalog,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tree-node--catalog .jms-catalog-card__head .jms-btn-del-catalog {
    flex-shrink: 0 !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tree-node--catalog .jms-catalog-card__body {
    padding: 0.35rem 0.45rem 0.5rem 0.65rem !important;
    border-top: none !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tree-node--catalog .jms-catalog-card--collapsed .jms-catalog-card__body {
    display: none !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tree-node--catalog .jms-catalog-card--expandable .jms-catalog-card__head::before {
    content: '▾';
    display: inline-block;
    width: 0.85rem;
    color: #64748b;
    font-size: 0.62rem;
    flex-shrink: 0;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tree-node--catalog .jms-catalog-card--expandable.jms-catalog-card--collapsed .jms-catalog-card__head::before {
    content: '▸';
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tree-node--catalog .jms-catalog-card.is-disabled {
    opacity: 0.55 !important;
}

/* 叶子节点（非容器）在树形区也呈现为紧凑卡片 */
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tree-node--catalog .jms-catalog-card:not(.jms-catalog-card--container) {
    display: inline-flex !important;
    flex-direction: column !important;
    width: auto !important;
    max-width: 100% !important;
    align-self: flex-start !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tree-node--catalog .jms-catalog-card:not(.jms-catalog-card--container) .jms-catalog-card__head {
    border-bottom: none !important;
}

/* ---- css/jms_catalog_element_plan.css ---- */
/**
 * catalog_element · legacy 网格步骤区（jms-tg-steps，非树形视图）
 */
body.lth-hub-jmeter-tab .jms-tg-steps .jms-catalog-plan-card {
    border: 1px solid rgba(251, 191, 36, 0.35);
    border-radius: 10px;
    background: rgba(255, 251, 235, 0.65);
    margin: 0.35rem 0;
    overflow: hidden;
}

body.lth-hub-jmeter-tab .jms-tg-steps .jms-catalog-plan-card__head {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.35rem;
    padding: 0.45rem 0.55rem;
    border-bottom: 1px solid rgba(251, 191, 36, 0.18);
    background: rgba(251, 191, 36, 0.08);
}

body.lth-hub-jmeter-tab .jms-tg-steps .jms-catalog-plan-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.65rem;
    padding: 0.1rem 0.4rem;
    border-radius: 999px;
    font-size: 0.625rem;
    font-weight: 800;
    color: #fcd34d;
    background: rgba(251, 191, 36, 0.2);
    border: 1px solid rgba(251, 191, 36, 0.35);
}

body.lth-hub-jmeter-tab .jms-tg-steps .jms-catalog-plan-card__meta {
    margin-left: auto;
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.62rem;
    color: #64748b;
}

body.lth-hub-jmeter-tab .jms-tg-steps .jms-catalog-plan-card__body {
    padding: 0.45rem 0.55rem 0.55rem 0.75rem;
}

body.lth-hub-jmeter-tab .jms-tg-steps .jms-catalog-plan-card.is-disabled {
    opacity: 0.55;
}

/* ---- css/jms_tg_config_menu_ui.css ---- */
/**
 * 树形视图 · 线程组配置元件下拉菜单（隔离样式）
 */
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-head__group--settings .jms-tg-config-more {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-config-trigger.jms-tg-tree-btn-ghost {
    padding: 0.2rem 0.42rem !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    border-radius: 7px !important;
    border: 1px solid rgba(203, 213, 225, 0.95) !important;
    background: #fff !important;
    color: #475569 !important;
    white-space: nowrap !important;
    box-shadow: none !important;
    cursor: pointer !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.12rem !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-config-trigger.jms-tg-tree-btn-ghost.is-on {
    color: #4338ca !important;
    border-color: rgba(99, 102, 241, 0.45) !important;
    background: rgba(238, 242, 255, 0.98) !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-config-trigger.jms-tg-tree-btn-ghost:hover {
    border-color: rgba(148, 163, 184, 0.95) !important;
    background: #f8fafc !important;
    color: #334155 !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-config-caret {
    flex: 0 0 auto !important;
    line-height: 1 !important;
    font-size: 9px !important;
    opacity: 0.75 !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-config-menu {
    display: none !important;
    position: absolute !important;
    right: 0 !important;
    top: calc(100% + 0.22rem) !important;
    z-index: 45 !important;
    min-width: 11rem !important;
    padding: 0.28rem !important;
    border-radius: 10px !important;
    border: 1px solid rgba(199, 210, 254, 0.95) !important;
    background: #fff !important;
    box-shadow: 0 10px 28px rgba(15, 23, 42, 0.14) !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-config-more.is-open .jms-tg-config-menu {
    display: block !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-config-menu-item {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0.38rem 0.55rem !important;
    border: none !important;
    border-radius: 7px !important;
    background: transparent !important;
    color: #334155 !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    text-align: left !important;
    cursor: pointer !important;
    white-space: nowrap !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-config-menu-item:hover {
    background: rgba(238, 242, 255, 0.95) !important;
    color: #4338ca !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tree-node--config {
    --jms-tree-depth: 0;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-aux-card--tg-config .jms-aux-card__stripe {
    background: linear-gradient(180deg, #6366f1, #818cf8) !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-config-drawer__checks-inline {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 0.65rem 1rem !important;
    margin-top: 0.35rem !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-config-drawer__check {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.35rem !important;
    font-size: 0.78rem !important;
    color: #475569 !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-config-drawer__grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0.55rem !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-config-drawer__grid--single {
    grid-template-columns: 1fr !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-config-drawer__field {
    display: flex !important;
    flex-direction: column !important;
    gap: 0.2rem !important;
    font-size: 0.72rem !important;
    color: #64748b !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-config-drawer__field input,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-config-drawer__field select,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-config-drawer__field textarea {
    width: 100% !important;
    font-size: 0.78rem !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-config-drawer__section-title {
    font-size: 0.72rem !important;
    font-weight: 700 !important;
    color: #475569 !important;
    margin-bottom: 0.35rem !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-config-drawer__hdr-head {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 0.5rem !important;
    margin-bottom: 0.35rem !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-config-drawer__cookie-row,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-config-drawer__kv-row {
    display: grid !important;
    grid-template-columns: 1fr 1fr 1fr auto !important;
    gap: 0.35rem !important;
    margin-bottom: 0.35rem !important;
    align-items: center !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-config-drawer__cookie-row--wide {
    grid-template-columns: 1fr 1fr 1fr 0.7fr 0.7fr auto !important;
}

/* ---- css/jms_counter_config_enable_ui.css ---- */
/**
 * 配置元件 · 树形卡片启用/停用分段切换（计数器 + HTTP 管理器）
 */
body.lth-studio-v2.lth-hub-jmeter-tab .jms-counter-enable-seg,
body.lth-studio-v2.lth-hub-jmeter-tab .jms-mgr-enable-seg {
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
    padding: 2px;
    margin-right: 0.15rem;
    border-radius: 999px;
    background: rgba(148, 163, 184, 0.12);
    border: 1px solid rgba(148, 163, 184, 0.22);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.65);
}

body.lth-studio-v2.lth-hub-jmeter-tab .jms-counter-enable-seg__btn,
body.lth-studio-v2.lth-hub-jmeter-tab .jms-mgr-enable-seg__btn {
    border: none;
    background: transparent;
    padding: 0.16rem 0.48rem;
    font-size: 10px;
    font-weight: 600;
    line-height: 1.2;
    color: #64748b;
    border-radius: 999px;
    cursor: pointer;
    transition: color 0.15s ease, background 0.15s ease, box-shadow 0.15s ease;
}

body.lth-studio-v2.lth-hub-jmeter-tab .jms-counter-enable-seg__btn:hover:not(.is-active),
body.lth-studio-v2.lth-hub-jmeter-tab .jms-mgr-enable-seg__btn:hover:not(.is-active) {
    color: #334155;
    background: rgba(255, 255, 255, 0.45);
}

body.lth-studio-v2.lth-hub-jmeter-tab .jms-counter-enable-seg__btn.is-active[data-counter-enable-val="1"],
body.lth-studio-v2.lth-hub-jmeter-tab .jms-mgr-enable-seg__btn.is-active[data-mgr-enable-val="1"] {
    background: #fff;
    color: #0f766e;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.08);
}

body.lth-studio-v2.lth-hub-jmeter-tab .jms-counter-enable-seg__btn.is-active[data-counter-enable-val="0"],
body.lth-studio-v2.lth-hub-jmeter-tab .jms-mgr-enable-seg__btn.is-active[data-mgr-enable-val="0"] {
    background: #fff;
    color: #94a3b8;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06);
}

body.lth-studio-v2.lth-hub-jmeter-tab .jms-aux-card--tg-config-counter .jms-aux-card__stripe,
body.lth-studio-v2.lth-hub-jmeter-tab .jms-aux-card--http-mount-config-counter .jms-aux-card__stripe {
    background: linear-gradient(180deg, #14b8a6, #0d9488) !important;
}

body.lth-studio-v2.lth-hub-jmeter-tab .jms-aux-card--tg-config-counter.is-disabled .jms-aux-card__stripe,
body.lth-studio-v2.lth-hub-jmeter-tab .jms-aux-card--http-mount-config-counter.is-disabled .jms-aux-card__stripe {
    background: linear-gradient(180deg, #cbd5e1, #94a3b8) !important;
}

body.lth-studio-v2.lth-hub-jmeter-tab .jms-aux-card--tg-config-counter .jms-aux-type,
body.lth-studio-v2.lth-hub-jmeter-tab .jms-aux-card--http-mount-config-counter .jms-aux-type {
    color: #0f766e;
    background: rgba(204, 251, 241, 0.85);
    border: 1px solid rgba(45, 212, 191, 0.35);
}

body.lth-studio-v2.lth-hub-jmeter-tab .jms-aux-card--tg-config-counter.is-disabled .jms-aux-name,
body.lth-studio-v2.lth-hub-jmeter-tab .jms-aux-card--http-mount-config-counter.is-disabled .jms-aux-name {
    color: #94a3b8;
}

body.lth-studio-v2.lth-hub-jmeter-tab .jms-http-card__actions.lth-step-actions {
    display: inline-flex;
    align-items: center;
    gap: 0.12rem;
}

body.lth-studio-v2.lth-hub-jmeter-tab .jms-config-card-toolbar {
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
    align-self: center;
    gap: 0.12rem;
    margin-right: 0.35rem;
}

body.lth-studio-v2.lth-hub-jmeter-tab .jms-aux-card--tg-config-mgr.is-disabled .jms-aux-card__stripe,
body.lth-studio-v2.lth-hub-jmeter-tab .jms-aux-card--http-mount-config-mgr.is-disabled .jms-aux-card__stripe {
    background: linear-gradient(180deg, #cbd5e1, #94a3b8) !important;
}

body.lth-studio-v2.lth-hub-jmeter-tab .jms-aux-card--tg-config-mgr.is-disabled .jms-aux-name,
body.lth-studio-v2.lth-hub-jmeter-tab .jms-aux-card--http-mount-config-mgr.is-disabled .jms-aux-name {
    color: #94a3b8;
}

body.lth-studio-v2.lth-hub-jmeter-tab .jms-http-context__config-row.is-disabled .jms-http-context__config-name {
    color: #94a3b8;
}

body.lth-studio-v2.lth-hub-jmeter-tab .jms-aux-card--if-mount.jms-aux-card--http-mount-config-counter .jms-aux-card__stripe {
    background: linear-gradient(180deg, #14b8a6, #0d9488) !important;
}

body.lth-studio-v2.lth-hub-jmeter-tab .jms-aux-card--if-mount.jms-aux-card--http-mount-config-counter.is-disabled .jms-aux-card__stripe {
    background: linear-gradient(180deg, #cbd5e1, #94a3b8) !important;
}

/* ---- css/jms_logic_ctrl_enable_ui.css ---- */
/**
 * 逻辑控制器 · 树形卡片启用/停用分段切换（隔离样式）
 */
body.lth-studio-v2.lth-hub-jmeter-tab .jms-logic-enable-seg {
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
    padding: 2px;
    margin-right: 0.15rem;
    border-radius: 999px;
    background: rgba(148, 163, 184, 0.12);
    border: 1px solid rgba(148, 163, 184, 0.22);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.65);
}

body.lth-studio-v2.lth-hub-jmeter-tab .jms-logic-enable-seg__btn {
    border: none;
    background: transparent;
    padding: 0.16rem 0.48rem;
    font-size: 10px;
    font-weight: 600;
    line-height: 1.2;
    color: #64748b;
    border-radius: 999px;
    cursor: pointer;
    transition: color 0.15s ease, background 0.15s ease, box-shadow 0.15s ease;
}

body.lth-studio-v2.lth-hub-jmeter-tab .jms-logic-enable-seg__btn:hover:not(.is-active) {
    color: #334155;
    background: rgba(255, 255, 255, 0.45);
}

body.lth-studio-v2.lth-hub-jmeter-tab .jms-logic-enable-seg__btn.is-active[data-logic-enable-val="1"] {
    background: #fff;
    color: #0f766e;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.08);
}

body.lth-studio-v2.lth-hub-jmeter-tab .jms-logic-enable-seg__btn.is-active[data-logic-enable-val="0"] {
    background: #fff;
    color: #94a3b8;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06);
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-if-card__head .jms-config-card-toolbar,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-loop-card__head .jms-config-card-toolbar,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-random-card__head .jms-config-card-toolbar,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-simple-card__head .jms-config-card-toolbar,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-transaction-card__head .jms-config-card-toolbar {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    flex-wrap: nowrap;
    gap: 0.12rem;
    margin-left: auto;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-if-card.is-disabled .jms-http-name,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-loop-card.is-disabled .jms-http-name,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-random-card.is-disabled .jms-http-name,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-simple-card.is-disabled .jms-http-name,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-transaction-card.is-disabled .jms-http-name {
    color: #94a3b8;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-if-card.is-disabled .jms-if-badge,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-loop-card.is-disabled .jms-loop-badge,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-random-card.is-disabled .jms-random-badge,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-simple-card.is-disabled .jms-simple-badge,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-transaction-card.is-disabled .jms-transaction-badge {
    opacity: 0.55;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tree-node--if-mount .jms-config-card-toolbar {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    flex-wrap: nowrap;
    gap: 0.12rem;
    margin-left: auto;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-aux-card--preproc.is-disabled .jms-aux-name,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-aux-card--beanshell.is-disabled .jms-aux-name,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-aux-card--preproc.is-disabled .jms-aux-meta,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-aux-card--beanshell.is-disabled .jms-aux-meta {
    color: #94a3b8 !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-aux-card--preproc.is-disabled .jms-aux-card__stripe,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-aux-card--beanshell.is-disabled .jms-aux-card__stripe {
    opacity: 0.45;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-aux-card--timer.is-disabled .jms-aux-name,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-aux-card--timer.is-disabled .jms-aux-meta {
    color: #94a3b8 !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-aux-card--timer.is-disabled .jms-aux-card__stripe {
    opacity: 0.45;
}

/* ---- css/jms_tg_postproc_enable_ui.css ---- */
/**
 * 线程组后置处理器 · 树形卡片启用/停用（隔离样式，对齐配置元件）
 */
body.lth-studio-v2.lth-hub-jmeter-tab .jms-postproc-enable-seg {
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
    padding: 2px;
    margin-right: 0.15rem;
    border-radius: 999px;
    background: rgba(148, 163, 184, 0.12);
    border: 1px solid rgba(148, 163, 184, 0.22);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.65);
}

body.lth-studio-v2.lth-hub-jmeter-tab .jms-postproc-enable-seg__btn {
    border: none;
    background: transparent;
    padding: 0.16rem 0.48rem;
    font-size: 10px;
    font-weight: 600;
    line-height: 1.2;
    color: #64748b;
    border-radius: 999px;
    cursor: pointer;
    transition: color 0.15s ease, background 0.15s ease, box-shadow 0.15s ease;
}

body.lth-studio-v2.lth-hub-jmeter-tab .jms-postproc-enable-seg__btn:hover:not(.is-active) {
    color: #334155;
    background: rgba(255, 255, 255, 0.45);
}

body.lth-studio-v2.lth-hub-jmeter-tab .jms-postproc-enable-seg__btn.is-active[data-postproc-enable-val="1"] {
    background: #fff;
    color: #0f766e;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.08);
}

body.lth-studio-v2.lth-hub-jmeter-tab .jms-postproc-enable-seg__btn.is-active[data-postproc-enable-val="0"] {
    background: #fff;
    color: #94a3b8;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06);
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-aux-card.is-disabled .jms-aux-name,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-aux-card.is-disabled .jms-aux-meta {
    color: #94a3b8 !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-aux-card.is-disabled .jms-aux-card__stripe {
    opacity: 0.45;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tree-node .jms-config-card-toolbar {
    flex-shrink: 0;
    align-self: center;
    margin-left: auto;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tree-processor-row {
    display: flex;
    align-items: center;
    gap: 0.35rem;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tree-processor-row.is-disabled .jms-tree-processor-row__name {
    color: #94a3b8;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tree-processor-row .jms-config-card-toolbar {
    flex-shrink: 0;
    margin-left: auto;
}

/* ---- css/jms_tg_sampler_enable_ui.css ---- */
/**
 * 线程组取样器 · HTTP / Debug 树形卡片启用/停用（隔离样式，对齐配置元件）
 */
body.lth-studio-v2.lth-hub-jmeter-tab .jms-tg-sampler-enable-seg {
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
    padding: 2px;
    margin-right: 0.15rem;
    border-radius: 999px;
    background: rgba(148, 163, 184, 0.12);
    border: 1px solid rgba(148, 163, 184, 0.22);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.65);
}

body.lth-studio-v2.lth-hub-jmeter-tab .jms-tg-sampler-enable-seg__btn {
    border: none;
    background: transparent;
    padding: 0.16rem 0.48rem;
    font-size: 10px;
    font-weight: 600;
    line-height: 1.2;
    color: #64748b;
    border-radius: 999px;
    cursor: pointer;
    transition: color 0.15s ease, background 0.15s ease, box-shadow 0.15s ease;
}

body.lth-studio-v2.lth-hub-jmeter-tab .jms-tg-sampler-enable-seg__btn:hover:not(.is-active) {
    color: #334155;
    background: rgba(255, 255, 255, 0.45);
}

body.lth-studio-v2.lth-hub-jmeter-tab .jms-tg-sampler-enable-seg__btn.is-active[data-tg-sampler-enable-val="1"] {
    background: #fff;
    color: #0f766e;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.08);
}

body.lth-studio-v2.lth-hub-jmeter-tab .jms-tg-sampler-enable-seg__btn.is-active[data-tg-sampler-enable-val="0"] {
    background: #fff;
    color: #94a3b8;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06);
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-steps .jms-http-card {
    display: flex !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    gap: 0.35rem !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-steps .jms-http-card__main {
    flex: 1 1 auto !important;
    min-width: 0 !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-steps .jms-http-card .jms-config-card-toolbar {
    flex: 0 0 auto !important;
    display: inline-flex !important;
    align-items: center !important;
    flex-shrink: 0 !important;
    margin-left: auto !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-steps .jms-http-card.is-disabled .jms-http-name,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-steps .jms-http-card.is-disabled .jms-http-path {
    color: #94a3b8 !important;
    opacity: 0.85;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-steps .jms-http-card.is-disabled .jms-http-method {
    opacity: 0.55;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-tree-steps .jms-aux-card--debug .jms-config-card-toolbar {
    flex-shrink: 0;
    margin-left: auto;
}

/* ---- css/jms_assert_enable_ui.css ---- */
/**
 * 断言元件 · 树形卡片启用/停用（隔离样式，对齐配置元件）
 */
body.lth-studio-v2.lth-hub-jmeter-tab .jms-assert-enable-seg {
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
    padding: 2px;
    margin-right: 0.15rem;
    border-radius: 999px;
    background: rgba(148, 163, 184, 0.12);
    border: 1px solid rgba(148, 163, 184, 0.22);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.65);
}

body.lth-studio-v2.lth-hub-jmeter-tab .jms-assert-enable-seg__btn {
    border: none;
    background: transparent;
    padding: 0.16rem 0.48rem;
    font-size: 10px;
    font-weight: 600;
    line-height: 1.2;
    color: #64748b;
    border-radius: 999px;
    cursor: pointer;
    transition: color 0.15s ease, background 0.15s ease, box-shadow 0.15s ease;
}

body.lth-studio-v2.lth-hub-jmeter-tab .jms-assert-enable-seg__btn:hover:not(.is-active) {
    color: #334155;
    background: rgba(255, 255, 255, 0.45);
}

body.lth-studio-v2.lth-hub-jmeter-tab .jms-assert-enable-seg__btn.is-active[data-assert-enable-val="1"] {
    background: #fff;
    color: #0f766e;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.08);
}

body.lth-studio-v2.lth-hub-jmeter-tab .jms-assert-enable-seg__btn.is-active[data-assert-enable-val="0"] {
    background: #fff;
    color: #94a3b8;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06);
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-aux-card--tg-assert.is-disabled .jms-aux-name,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-aux-card--http-mount-assert.is-disabled .jms-aux-name {
    color: #94a3b8 !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-aux-card--tg-assert.is-disabled .jms-aux-card__stripe,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-aux-card--http-mount-assert.is-disabled .jms-aux-card__stripe {
    opacity: 0.45;
}

/* ---- css/jms_listener_enable_ui.css ---- */
/**
 * 监听器元件 · 树形卡片启用/停用（隔离样式，对齐配置元件）
 */
body.lth-studio-v2.lth-hub-jmeter-tab .jms-listener-enable-seg {
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
    padding: 2px;
    margin-right: 0.15rem;
    border-radius: 999px;
    background: rgba(148, 163, 184, 0.12);
    border: 1px solid rgba(148, 163, 184, 0.22);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.65);
}

body.lth-studio-v2.lth-hub-jmeter-tab .jms-listener-enable-seg__btn {
    border: none;
    background: transparent;
    padding: 0.16rem 0.48rem;
    font-size: 10px;
    font-weight: 600;
    line-height: 1.2;
    color: #64748b;
    border-radius: 999px;
    cursor: pointer;
    transition: color 0.15s ease, background 0.15s ease, box-shadow 0.15s ease;
}

body.lth-studio-v2.lth-hub-jmeter-tab .jms-listener-enable-seg__btn:hover:not(.is-active) {
    color: #334155;
    background: rgba(255, 255, 255, 0.45);
}

body.lth-studio-v2.lth-hub-jmeter-tab .jms-listener-enable-seg__btn.is-active[data-listener-enable-val="1"] {
    background: #fff;
    color: #0f766e;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.08);
}

body.lth-studio-v2.lth-hub-jmeter-tab .jms-listener-enable-seg__btn.is-active[data-listener-enable-val="0"] {
    background: #fff;
    color: #94a3b8;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06);
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-aux-card--tg-listener.is-disabled .jms-aux-name,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-aux-card--http-mount-assert.is-disabled .jms-aux-name {
    color: #94a3b8 !important;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-aux-card--tg-listener.is-disabled .jms-aux-card__stripe,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-aux-card--http-mount-assert.is-disabled .jms-aux-card__stripe {
    opacity: 0.45;
}

/* ---- css/jms_tg_tree_step_enable_unify.css ---- */
/**
 * 树形视图 · 全组件启用/停用分段按钮统一样式（简约专业）
 */
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-config-card-toolbar {
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
    gap: 0.28rem;
    margin-left: auto;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-logic-enable-seg,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-sampler-enable-seg,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-postproc-enable-seg,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-assert-enable-seg,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-listener-enable-seg,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-http-mount-enable-seg,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-mgr-enable-seg,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-counter-enable-seg,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-step-enable-seg {
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
    padding: 2px;
    border-radius: 999px;
    background: linear-gradient(180deg, rgba(248, 250, 252, 0.98), rgba(241, 245, 249, 0.92));
    border: 1px solid rgba(148, 163, 184, 0.28);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.9),
        0 1px 2px rgba(15, 23, 42, 0.04);
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-logic-enable-seg__btn,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-sampler-enable-seg__btn,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-postproc-enable-seg__btn,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-assert-enable-seg__btn,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-listener-enable-seg__btn,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-http-mount-enable-seg__btn,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-mgr-enable-seg__btn,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-counter-enable-seg__btn,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-step-enable-seg__btn {
    border: none;
    background: transparent;
    min-width: 2.15rem;
    padding: 0.2rem 0.52rem;
    font-size: 10.5px;
    font-weight: 600;
    letter-spacing: 0.02em;
    line-height: 1.2;
    color: #64748b;
    border-radius: 999px;
    cursor: pointer;
    transition: color 0.16s ease, background 0.16s ease, box-shadow 0.16s ease, transform 0.12s ease;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-logic-enable-seg__btn:hover:not(.is-active),
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-tg-sampler-enable-seg__btn:hover:not(.is-active),
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-postproc-enable-seg__btn:hover:not(.is-active),
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-assert-enable-seg__btn:hover:not(.is-active),
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-listener-enable-seg__btn:hover:not(.is-active),
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-http-mount-enable-seg__btn:hover:not(.is-active),
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-mgr-enable-seg__btn:hover:not(.is-active),
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-counter-enable-seg__btn:hover:not(.is-active),
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-step-enable-seg__btn:hover:not(.is-active) {
    color: #334155;
    background: rgba(255, 255, 255, 0.72);
}

body.lth-tg-view-tree.lth-hub-jmeter-tab [class*="-enable-seg__btn"].is-active[data-logic-enable-val="1"],
body.lth-tg-view-tree.lth-hub-jmeter-tab [class*="-enable-seg__btn"].is-active[data-tg-sampler-enable-val="1"],
body.lth-tg-view-tree.lth-hub-jmeter-tab [class*="-enable-seg__btn"].is-active[data-postproc-enable-val="1"],
body.lth-tg-view-tree.lth-hub-jmeter-tab [class*="-enable-seg__btn"].is-active[data-assert-enable-val="1"],
body.lth-tg-view-tree.lth-hub-jmeter-tab [class*="-enable-seg__btn"].is-active[data-listener-enable-val="1"],
body.lth-tg-view-tree.lth-hub-jmeter-tab [class*="-enable-seg__btn"].is-active[data-http-mount-enable-val="1"],
body.lth-tg-view-tree.lth-hub-jmeter-tab [class*="-enable-seg__btn"].is-active[data-mgr-enable-val="1"],
body.lth-tg-view-tree.lth-hub-jmeter-tab [class*="-enable-seg__btn"].is-active[data-counter-enable-val="1"],
body.lth-tg-view-tree.lth-hub-jmeter-tab [class*="-enable-seg__btn"].is-active[data-step-enable-val="1"] {
    background: #fff;
    color: #0d9488;
    box-shadow: 0 1px 3px rgba(13, 148, 136, 0.14), 0 1px 2px rgba(15, 23, 42, 0.06);
}

body.lth-tg-view-tree.lth-hub-jmeter-tab [class*="-enable-seg__btn"].is-active[data-logic-enable-val="0"],
body.lth-tg-view-tree.lth-hub-jmeter-tab [class*="-enable-seg__btn"].is-active[data-tg-sampler-enable-val="0"],
body.lth-tg-view-tree.lth-hub-jmeter-tab [class*="-enable-seg__btn"].is-active[data-postproc-enable-val="0"],
body.lth-tg-view-tree.lth-hub-jmeter-tab [class*="-enable-seg__btn"].is-active[data-assert-enable-val="0"],
body.lth-tg-view-tree.lth-hub-jmeter-tab [class*="-enable-seg__btn"].is-active[data-listener-enable-val="0"],
body.lth-tg-view-tree.lth-hub-jmeter-tab [class*="-enable-seg__btn"].is-active[data-http-mount-enable-val="0"],
body.lth-tg-view-tree.lth-hub-jmeter-tab [class*="-enable-seg__btn"].is-active[data-mgr-enable-val="0"],
body.lth-tg-view-tree.lth-hub-jmeter-tab [class*="-enable-seg__btn"].is-active[data-counter-enable-val="0"],
body.lth-tg-view-tree.lth-hub-jmeter-tab [class*="-enable-seg__btn"].is-active[data-step-enable-val="0"] {
    background: #fff;
    color: #94a3b8;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-if-card__head,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-loop-card__head,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-random-card__head,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-simple-card__head,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-transaction-card__head {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    gap: 0.35rem;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-aux-card {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    gap: 0.35rem;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-aux-card .jms-config-card-toolbar,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-http-card .jms-config-card-toolbar {
    margin-left: auto;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-config-card-toolbar + .lth-step-actions,
body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-config-card-toolbar .lth-step-actions {
    margin-left: 0;
}

body.lth-tg-view-tree.lth-hub-jmeter-tab .jms-catalog-card__head .jms-config-card-toolbar {
    flex-shrink: 0;
    margin-left: auto;
}

