/* NHIP · Lệnh chờ (v1.70): lớp trên biểu đồ + bảng + hộp sửa */
.ol-layer{position:absolute;inset:0;pointer-events:none;z-index:6;overflow:hidden;font-variant-numeric:tabular-nums}
.ol-line{position:absolute;left:0;height:0;border-top:1.5px dashed var(--ol-c,#2f7bd9);opacity:.85}
.ol-line.dragging{opacity:1;border-top-style:solid}
.ol-line.is-hit{border-top-style:solid;opacity:1}
.ol-t-buy{--ol-c:var(--brand,#2f7bd9)}.ol-t-tp{--ol-c:var(--up,#0b9f77)}.ol-t-sl{--ol-c:var(--dn,#d64550)}.ol-t-cost{--ol-c:#c88a12}
.ol-line.ol-t-cost{border-top-style:solid;border-top-width:1px}
.ol-tag{position:absolute;display:flex;align-items:center;gap:6px;height:22px;padding:0 4px 0 6px;border-radius:6px;background:var(--surface,#fff);color:var(--text,#253442);border:1.5px solid var(--ol-c,#2f7bd9);font-size:11.5px;line-height:1;white-space:nowrap;pointer-events:auto;touch-action:none;cursor:ns-resize;box-shadow:0 1px 4px rgba(0,0,0,.18);user-select:none;-webkit-user-select:none;max-width:78%}
.ol-tag.ol-t-cost{cursor:default;background:color-mix(in srgb,#c88a12 14%,var(--surface,#fff))}
.ol-tag .ol-lbl{font-weight:700;color:var(--ol-c)}
.ol-tag .ol-px{font-weight:700}
.ol-tag .ol-q{color:var(--muted,#5f6f82)}
.ol-tag .ol-q i{font-style:normal;font-weight:700}.ol-tag .up{color:var(--up,#0b9f77)}.ol-tag .dn{color:var(--dn,#d64550)}
.ol-tag .ol-grip{color:var(--muted,#8a97a6);font-size:10px;letter-spacing:-2px}
.ol-tag .ol-x{all:unset;box-sizing:border-box;width:20px;height:20px;display:grid;place-items:center;border-radius:4px;cursor:pointer;color:var(--muted,#5f6f82);font-size:11px}
.ol-tag .ol-x:hover{background:color-mix(in srgb,var(--dn,#d64550) 16%,transparent);color:var(--dn,#d64550)}
.ol-tag.dragging{box-shadow:0 3px 10px rgba(0,0,0,.3);z-index:2}
.ol-tag.bad{border-color:var(--dn,#d64550);background:color-mix(in srgb,var(--dn,#d64550) 12%,var(--surface,#fff))}
.ol-tag.is-hit{background:var(--ol-c);color:#fff;animation:olpulse 1.4s ease-in-out infinite}
.ol-tag.is-hit .ol-lbl,.ol-tag.is-hit .ol-q,.ol-tag.is-hit .ol-grip,.ol-tag.is-hit .ol-x{color:#fff}
@keyframes olpulse{50%{opacity:.72}}
html[data-rm="1"] .ol-tag.is-hit{animation:none}
.ol-bar{position:absolute;left:8px;top:34px;display:flex;align-items:center;gap:4px;pointer-events:auto;background:color-mix(in srgb,var(--surface,#fff) 92%,transparent);border:1px solid var(--line2,#d3dbe3);border-radius:8px;padding:3px;font-size:12px}
.ol-bar .ol-bt{padding:0 6px;font-weight:700;color:var(--muted,#5f6f82)}
.ol-bar button{all:unset;box-sizing:border-box;min-height:28px;padding:0 9px;border-radius:6px;cursor:pointer;font-weight:700;color:var(--text,#253442);display:inline-flex;align-items:center;border:1px solid transparent}
.ol-bar button:hover:not([disabled]){background:var(--surface2,#f1f5f8)}
.ol-bar button[disabled]{opacity:.4;cursor:not-allowed}
.ol-bar .ol-b-buy{color:var(--brand,#2f7bd9)}.ol-bar .ol-b-tp{color:var(--up,#0b9f77)}.ol-bar .ol-b-sl{color:var(--dn,#d64550)}
.ol-bar .ol-hint{padding:0 6px;color:var(--text)}
.ol-cap{position:absolute;inset:0;pointer-events:auto;cursor:crosshair;background:color-mix(in srgb,var(--brand,#2f7bd9) 5%,transparent)}
.ol-cap[hidden]{display:none}
.ol-bar,.ol-pop{z-index:3}
.ol-pop{position:absolute;width:236px;max-width:calc(100% - 16px);pointer-events:auto;background:var(--surface,#fff);color:var(--text,#253442);border:1px solid var(--line2,#d3dbe3);border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.25);padding:10px;font-size:12.5px;display:grid;gap:8px}
.ol-ph{display:flex;align-items:center;justify-content:space-between}.ol-ph b.ol-t-buy,.ol-ph b.ol-t-tp,.ol-ph b.ol-t-sl{color:var(--ol-c)}
.ol-ph button{all:unset;cursor:pointer;padding:4px 6px;color:var(--muted)}
.ol-pop label{display:grid;gap:3px;color:var(--muted,#5f6f82);font-weight:600}
.ol-st{display:flex}.ol-st input{flex:1;min-width:0;height:34px;text-align:center;border:1px solid var(--line2,#d3dbe3);border-left:0;border-right:0;background:var(--surface);color:var(--text);font:inherit;font-size:14px;font-weight:700}
.ol-st button{all:unset;box-sizing:border-box;width:36px;height:34px;display:grid;place-items:center;cursor:pointer;border:1px solid var(--line2,#d3dbe3);background:var(--surface2,#f1f5f8);font-size:16px;font-weight:700;color:var(--text)}
.ol-st button:first-child{border-radius:7px 0 0 7px}.ol-st button:last-child{border-radius:0 7px 7px 0}
.ol-m{margin:0;padding:6px 8px;border-radius:6px;font-size:12px;line-height:1.35}
.ol-m.err{background:color-mix(in srgb,var(--dn,#d64550) 12%,var(--surface));color:var(--dn,#d64550)}
.ol-m.warn{background:color-mix(in srgb,#c88a12 14%,var(--surface));color:var(--text2)}
.ol-pb{display:flex;gap:6px}.ol-pb button{all:unset;box-sizing:border-box;flex:1;min-height:36px;display:grid;place-items:center;border-radius:8px;font-weight:700;cursor:pointer}
.ol-ok{background:var(--brand,#16845b);color:var(--on-brand,#fff)}.ol-ok[disabled]{opacity:.45;cursor:not-allowed}.ol-del{border:1px solid var(--dn,#d64550);color:var(--dn,#d64550)}
/* Bảng / phiếu */
.od{display:grid;gap:10px;font-size:13px}
.od-hold{display:flex;flex-wrap:wrap;gap:6px 18px;padding:8px 10px;border-radius:8px;background:var(--surface2,#f1f5f8)}
.od-hold div{display:grid;gap:1px}.od-hold span{font-size:11.5px;color:var(--muted)}.od-hold b.up{color:var(--up)}.od-hold b.dn{color:var(--dn)}
.od-hold>b{font-weight:700}.od-note{flex-basis:100%;margin:0;font-size:12px;color:var(--text2)}
.od-add{display:grid;gap:8px;padding:10px;border:1px solid var(--line,#e3e8ed);border-radius:10px}
.od-kinds{display:flex;gap:6px}.od-kinds button{all:unset;box-sizing:border-box;flex:1;min-height:36px;display:grid;place-items:center;border:1.5px solid var(--line2,#d3dbe3);border-radius:8px;font-weight:700;cursor:pointer;color:var(--text2)}
.od-kinds button.on.od-k-buy{border-color:var(--brand);background:color-mix(in srgb,var(--brand) 14%,var(--surface));color:var(--brand)}
.od-kinds button.on.od-k-tp{border-color:var(--up);background:color-mix(in srgb,var(--up) 14%,var(--surface));color:var(--up)}
.od-kinds button.on.od-k-sl{border-color:var(--dn);background:color-mix(in srgb,var(--dn) 14%,var(--surface));color:var(--dn)}
.od-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px}.od-fields label{display:grid;gap:3px;font-size:11.5px;color:var(--muted);font-weight:600}
.od-st{display:flex}.od-st .od-in{flex:1;min-width:0;text-align:center;border-radius:0}
.od-st button{all:unset;box-sizing:border-box;width:34px;min-height:36px;display:grid;place-items:center;cursor:pointer;border:1px solid var(--line2);background:var(--surface2);font-weight:700;color:var(--text)}
.od-st button:first-child{border-radius:7px 0 0 7px}.od-st button:last-child{border-radius:0 7px 7px 0}
.od-in{box-sizing:border-box;min-height:36px;padding:0 8px;border:1px solid var(--line2,#d3dbe3);border-radius:7px;background:var(--surface);color:var(--text);font:inherit;font-weight:700;width:100%}
.od-in.sm{max-width:84px;text-align:right}
.od-chips{display:flex;flex-wrap:wrap;gap:6px}.od-chips button{all:unset;box-sizing:border-box;min-height:30px;padding:0 10px;border:1px solid var(--line2);border-radius:999px;cursor:pointer;font-size:12px;font-weight:600}
.od-dyn{display:grid;gap:6px}.od-msg{margin:0;padding:6px 8px;border-radius:6px;font-size:12px;line-height:1.35}
.od-msg.err{background:color-mix(in srgb,var(--dn) 12%,var(--surface));color:var(--dn)}.od-msg.warn{background:color-mix(in srgb,#c88a12 14%,var(--surface));color:var(--text2)}
.od-go{all:unset;box-sizing:border-box;min-height:40px;display:grid;place-items:center;border-radius:8px;background:var(--brand,#16845b);color:var(--on-brand,#fff);font-weight:700;cursor:pointer}.od-go[disabled]{opacity:.45;cursor:not-allowed}
.od-tw{overflow-x:auto}.od-t{width:100%;border-collapse:collapse;font-size:12.5px}.od-t th,.od-t td{padding:5px 6px;text-align:left;border-bottom:1px solid var(--line);white-space:nowrap}
.od-t thead th{font-size:11.5px;color:var(--muted);font-weight:600}
.od-sec th{font-size:12px;padding-top:10px;border-bottom:2px solid var(--ol-c)}.od-s-buy{--ol-c:var(--brand)}.od-s-tp{--ol-c:var(--up)}.od-s-sl{--ol-c:var(--dn)}.od-sec.od-s-buy th{color:var(--brand)}.od-sec.od-s-tp th{color:var(--up)}.od-sec.od-s-sl th{color:var(--dn)}
.od-r.cur{background:color-mix(in srgb,var(--brand) 6%,transparent)}.od-r.is-hit{background:color-mix(in srgb,#c88a12 14%,transparent)}
.od-sym{all:unset;cursor:pointer;font-weight:700;color:var(--brand-ink,var(--brand))}.od-hit{color:#b87400}.od-over{color:var(--dn)}.od-t small{margin-left:4px;color:var(--muted)}
.od-ta{text-align:right}.od-del{all:unset;cursor:pointer;padding:4px 8px;color:var(--muted);border-radius:6px}.od-del:hover{color:var(--dn);background:color-mix(in srgb,var(--dn) 12%,transparent)}
.od-fill{all:unset;cursor:pointer;padding:4px 10px;margin-right:4px;border-radius:6px;background:#c88a12;color:#fff;font-weight:700;font-size:12px}
.od-empty{margin:4px 0}.od-foot{margin:0;font-size:11.5px;color:var(--muted);line-height:1.4}
.tr-mode{display:flex;gap:6px;margin-bottom:8px}.tr-mode button{all:unset;box-sizing:border-box;flex:1;min-height:36px;display:grid;place-items:center;border:1.5px solid var(--line2);border-radius:8px;font-weight:700;cursor:pointer;color:var(--text2)}.tr-mode button.on{border-color:var(--brand);background:color-mix(in srgb,var(--brand) 12%,var(--surface));color:var(--brand)}
@media (max-width:700px){.ol-bar{top:30px}.ol-tag{font-size:11px}.od-fields{grid-template-columns:1fr}}

/* v1.72 · Chốt lời / Cắt lỗ cho vị thế đang nắm giữ (Danh mục) */
.pt-cell{min-width:118px;white-space:nowrap;font-size:12.5px;font-variant-numeric:tabular-nums}
.pt-ln{display:block;font-weight:700}.pt-ln small{font-weight:600;opacity:.8}.pt-miss{color:var(--text2,#6b7a89);font-weight:600}
.pt-hit{background:rgba(240,170,40,.18);border-radius:6px;padding:0 4px}
.pt-none{color:var(--text2,#6b7a89);font-size:12px;text-decoration:underline dotted}
.pt-warn{color:#b87500;font-size:11px;font-weight:700;display:block}html[data-theme="dark"] .pt-warn{color:#f4c15a}
.pt-banner{border-left:4px solid #e0a020}
.pt-b-row{display:grid;grid-template-columns:62px 1fr auto;gap:8px;align-items:center;width:100%;min-height:44px;margin:6px 0;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--text);font:inherit;text-align:left;cursor:pointer}
.pt-b-row i{font-style:normal;font-size:12px;font-weight:700;color:var(--brand-ink,var(--text))}
.pt{display:flex;flex-direction:column;gap:10px}
.pt-sum{display:grid;grid-template-columns:1fr 1fr;gap:6px 14px;padding:10px;border-radius:10px;background:var(--surface2,rgba(127,127,127,.07))}
.pt-sum div{display:flex;justify-content:space-between;gap:6px;font-size:13px}.pt-sum span{color:var(--text2)}
.pt-cov{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:12.5px;font-weight:700}
.pt-scn{display:grid;grid-template-columns:1fr auto;gap:4px 10px;padding:9px 10px;border-radius:10px;border:1px dashed var(--line2,var(--line));font-size:12.5px}.pt-scn span{color:var(--text2)}
.pt-note{margin:0;font-size:12px;color:#9a6200}html[data-theme="dark"] .pt-note{color:#f4c15a}
.pt-q{display:flex;flex-direction:column;gap:7px}.pt-q-h{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;font-size:12px;color:var(--text2);font-weight:700}
.pt-seg{display:inline-flex;gap:2px;padding:2px;border-radius:9px;background:var(--surface2,rgba(127,127,127,.1))}
.pt-seg button{min-height:28px;padding:0 10px;border:0;border-radius:7px;background:transparent;color:var(--text2);font:700 12px inherit;cursor:pointer}.pt-seg button.on{background:var(--surface);color:var(--text);box-shadow:0 1px 3px #0002}
.pt-chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.pt-chips>b{min-width:58px;font-size:12px}
.pt-chips button{min-height:32px;padding:4px 10px;border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:16px;font:600 12.5px inherit;cursor:pointer}
.pt-chips button:disabled{opacity:.4;cursor:not-allowed}
.pt-c-sl{border-color:rgba(238,117,128,.5)!important}.pt-c-tp{border-color:rgba(22,189,140,.5)!important}
.pt-form{display:flex;flex-direction:column;gap:8px;padding:10px;border-radius:10px;border:1px solid var(--line)}
.pt-kinds{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.pt-kinds button{min-height:40px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--text2);font:800 13px inherit;cursor:pointer}
.pt-kinds .pt-k-sl.on{background:var(--down,#ee7580);border-color:transparent;color:#fff}.pt-kinds .pt-k-tp.on{background:var(--up,#16bd8c);border-color:transparent;color:#fff}
.pt-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px}.pt-fields label{display:flex;flex-direction:column;gap:4px;min-width:0}.pt-fields label span{font-size:11px;font-weight:700;color:var(--text2)}
.pt-fields .od-st{display:grid;grid-template-columns:36px minmax(0,1fr) 36px;gap:4px}
.pt-fields .od-st button{border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:10px;font-size:18px;cursor:pointer;min-height:40px}
.pt-fields .od-in{width:100%;box-sizing:border-box;min-height:40px;text-align:center;font-weight:700;border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:10px;font:inherit}
.pt-dyn{display:flex;flex-direction:column;gap:8px}
.pt-oc{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;padding:8px 10px;border-radius:10px;background:var(--surface2,rgba(127,127,127,.07));font-size:13px}.pt-oc span{color:var(--text2)}.pt-oc small{flex-basis:100%;color:var(--text2);font-size:11px}
.pt-go{width:100%;min-height:46px;border:0;border-radius:12px;color:#fff;font:800 15px inherit;cursor:pointer}.pt-go.sl{background:var(--down,#ee7580)}.pt-go.tp{background:var(--up,#16bd8c)}.pt-go:disabled{opacity:.45;cursor:not-allowed}
.pt-h3{font-size:12px;font-weight:800;color:var(--text2);letter-spacing:.05em;text-transform:uppercase}
.pt-tw{overflow-x:auto}.pt-t{width:100%;border-collapse:collapse;font-size:12.5px;font-variant-numeric:tabular-nums}
.pt-t th{padding:5px 6px;text-align:left;color:var(--text2);font-size:11px;border-bottom:1px solid var(--line);white-space:nowrap}.pt-t td{padding:6px;border-bottom:1px solid var(--line);vertical-align:middle}
.pt-t .od-in.sm{width:84px;min-height:34px;padding:2px 6px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--text);font:inherit}
.pt-t tr.is-hit{background:rgba(240,170,40,.12)}.pt-act{white-space:nowrap}
.pt-act .od-del{min-width:32px;min-height:32px;border:1px solid var(--line);background:var(--surface);color:var(--text2);border-radius:8px;cursor:pointer;margin-left:4px}
.pt-empty{margin:0;font-size:12.5px}.pt-foot{margin:0;font-size:11.5px;color:var(--text2);line-height:1.45}
@media(max-width:420px){.pt-sum,.pt-fields{grid-template-columns:1fr}}

/* Chạm suy luận từ OHLC cùng ngày tạo lệnh: không khẳng định thứ tự chạm/khớp */
.ol-tag.is-uncertain{border-style:dotted;border-width:2px;background:color-mix(in srgb,#c88a12 13%,var(--surface,#fff))}
.ol-line.is-uncertain{border-top-style:dotted;opacity:.8}
.ol-tag.is-uncertain .ol-lbl{color:#a56b00}

/* Giải thích trạng thái sổ lệnh nội bộ */
.ol-bar .ol-bt{max-width:170px;white-space:normal;line-height:1.15}
@media(max-width:600px){.ol-bar{max-width:calc(100% - 12px);flex-wrap:wrap;top:28px}.ol-bar .ol-bt{font-size:10px;max-width:112px}.ol-bar button{min-height:26px;padding:0 6px;font-size:11px}}

/* v1.73: chọn sàn, quy tắc sàn, lệnh chờ mua có TP/SL */
.od-ex{display:flex;align-items:center;flex-wrap:wrap;gap:6px}
.od-ex-l{font-size:11.5px;font-weight:700;color:var(--muted);margin-right:2px}
.od-ex button{all:unset;box-sizing:border-box;min-height:36px;padding:0 16px;border:1.5px solid var(--line2,#d3dbe3);border-radius:8px;font-weight:700;font-size:12.5px;cursor:pointer;color:var(--text2);display:grid;place-items:center}
.od-ex button.on{border-color:var(--brand);background:color-mix(in srgb,var(--brand) 14%,var(--surface));color:var(--brand)}
.od-ex small{flex-basis:100%;font-size:11px;color:var(--muted)}
.od-rules{margin:0;padding:7px 9px;border-radius:8px;background:var(--surface2,#f1f5f8);font-size:12px;line-height:1.5;color:var(--text2)}
.od-msg.info,.tr-msg.info{background:color-mix(in srgb,var(--brand) 10%,var(--surface));color:var(--text2)}
.od-exit{display:grid;gap:8px;padding:9px;border:1px dashed var(--line2);border-radius:9px}
.od-exit-h{display:flex;align-items:baseline;flex-wrap:wrap;gap:2px 8px}.od-exit-h small{color:var(--muted);font-size:11.5px}
.od-cl{align-self:center;font-size:11.5px;font-weight:800;color:var(--muted);padding:0 4px}.od-cl.up{color:var(--up)}.od-cl.dn{color:var(--dn)}
.od-est{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:12px}.od-est small{flex-basis:100%;color:var(--muted)}.od-est b.up{color:var(--up)}.od-est b.dn{color:var(--dn)}
.od-dirb{font-weight:700;font-size:12px}.od-dirb.up{color:var(--up)}.od-dirb.dn{color:var(--dn)}
.od-sub td{padding-top:0}.od-subc{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;font-size:12px;color:var(--muted)}.od-subc label{display:flex;align-items:center;gap:5px;font-weight:700}
.od-pc{margin-top:-2px}
.od-t .od-in{min-width:68px}.od-t .od-in.sm{min-width:58px}
.od-so thead th:first-child,.od-so tr.od-r>td:first-child,.od-so tr.od-sub>td:first-child{display:none}

/* v1.73 — TP/SL gắn kèm lệnh chờ mua: đường riêng trên biểu đồ + ô nhập trong popup */
.ol-t-btp{--ol-c:var(--up,#0b9f77)}.ol-t-bsl{--ol-c:var(--dn,#d64550)}
.ol-line.ol-t-btp,.ol-line.ol-t-bsl{border-top-style:dotted;border-top-width:2px;opacity:.9}
.ol-tag.ol-t-btp,.ol-tag.ol-t-bsl{border-style:dashed}
.ol-pop{overflow-y:auto;overscroll-behavior:contain}
.ol-xh{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 6px;padding-top:6px;border-top:1px solid var(--line2,#d3dbe3)}
.ol-xh b{color:var(--text,#253442)}.ol-xh small{color:var(--muted,#5f6f82);font-size:11px}
.ol-xl-tp{--ol-c:var(--up,#0b9f77)}.ol-xl-sl{--ol-c:var(--dn,#d64550)}
.ol-xl-tp,.ol-xl-sl{color:var(--ol-c)!important}
.ol-est{font-weight:700;font-size:11.5px;line-height:1.3}.ol-est.up{color:var(--up,#0b9f77)}.ol-est.dn{color:var(--dn,#d64550)}
.ol-chips{display:flex;flex-wrap:wrap;align-items:center;gap:4px}
.ol-chips .ol-cl{font-weight:700;font-size:11px;padding:0 2px}.ol-chips .ol-cl.up{color:var(--up,#0b9f77)}.ol-chips .ol-cl.dn{color:var(--dn,#d64550)}
.ol-chips button{all:unset;box-sizing:border-box;min-height:28px;padding:0 8px;border-radius:6px;border:1px solid var(--line2,#d3dbe3);background:var(--surface2,#f1f5f8);cursor:pointer;font-weight:700;font-size:11.5px;color:var(--text,#253442)}

/* v1.73.3 — Nhãn SÀN (HOSE · HNX · UPCoM) hiển thị cạnh mã ở mọi nơi: lệnh chờ, biểu đồ, thông tin mã, danh sách */
.ex-tag{--ex-c:#2f7bd9;display:inline-flex;align-items:center;flex:none;box-sizing:border-box;height:17px;padding:0 5px;margin-left:5px;border-radius:4px;border:1px solid color-mix(in srgb,var(--ex-c) 55%,transparent);background:color-mix(in srgb,var(--ex-c) 12%,transparent);color:var(--ex-c);font:700 10px/1 inherit;font-style:normal;letter-spacing:.02em;white-space:nowrap;vertical-align:middle;text-transform:none}
.ex-tag.ex-HOSE{--ex-c:#2f7bd9}.ex-tag.ex-HNX{--ex-c:#8a5cd6}.ex-tag.ex-UPCOM{--ex-c:#c2701a}
html[data-theme="dark"] .ex-tag.ex-HOSE{--ex-c:#6aa8f0}html[data-theme="dark"] .ex-tag.ex-HNX{--ex-c:#b494ee}html[data-theme="dark"] .ex-tag.ex-UPCOM{--ex-c:#f0a860}
.ex-tag.unk{border-style:dashed}
/* bảng lệnh chờ */
.od-symc{display:inline-flex;align-items:center;gap:0;white-space:nowrap}
.od-sh{display:flex;flex-wrap:wrap;align-items:center;gap:2px 0;font-size:12.5px}.od-sh b{font-size:14px}.od-sh>span{flex-basis:100%;margin-top:2px;font-size:11.5px;color:var(--muted)}
.od-xf{display:flex;flex-wrap:wrap;gap:6px}.od-xf button{all:unset;box-sizing:border-box;min-height:32px;padding:0 12px;border:1px solid var(--line2,#d3dbe3);border-radius:999px;font-size:12px;font-weight:700;cursor:pointer;color:var(--text2)}
.od-xf button.on{border-color:var(--brand);background:color-mix(in srgb,var(--brand) 14%,var(--surface));color:var(--brand)}
.od-t small.od-over{display:block;margin:2px 0 0}
/* thanh công cụ lệnh trên biểu đồ: mã + sàn gọn, không tràn */
.ol-bar .ol-bt{display:inline-flex;align-items:center;gap:0;white-space:nowrap;max-width:none}.ol-bar .ol-bt b{color:var(--text,#253442)}
.ol-ph{gap:6px}.ol-ph b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ol-ph>.ex-tag{margin-right:auto}
@media(max-width:600px){.ol-bar .ol-bt{font-size:11px;max-width:none}}
/* đầu biểu đồ */
.cx-sub .ex-tag{margin:0 6px 0 0}
/* trang Giao dịch */
.tp-idr{display:flex;align-items:center;gap:6px;min-width:0}.tp-idr .tp-pick{flex:1 1 auto;min-width:0}.tp-idr .tp-pick select{max-width:100%}.tp-ex{flex:none;display:inline-flex}.tp-ex .ex-tag{margin:0;height:20px;padding:0 7px;font-size:11px}
.tp-th .ex-tag{margin-left:8px}
.tp-wsy{display:flex;align-items:center;min-width:0;white-space:nowrap}.tp-wsy .ex-tag{margin-left:5px}
@media(max-width:1100px){.tp-wr{min-width:158px}}
.tp-idc{display:flex;flex-wrap:wrap;align-items:center;gap:2px 10px;margin:0 0 10px;padding:8px 10px;border-radius:9px;background:var(--surface2,rgba(127,127,127,.08))}
.tp-idc-t{display:flex;align-items:center}.tp-idc-t b{font-size:16px}.tp-idc-t .ex-tag{height:19px;font-size:11px;padding:0 7px}
.tp-idc>span{min-width:0;flex:1 1 140px;font-size:12.5px;color:var(--text2);overflow-wrap:anywhere}
.tp-exw{margin:8px 0 0;padding:7px 9px;border-radius:8px;background:color-mix(in srgb,#c88a12 14%,var(--surface));color:var(--text2)}
.tp-ig b .ex-tag{margin-left:0}
.tp-t td .ex-tag{margin-left:5px}
.tr-h .ex-tag{margin-left:6px}.tr-h{flex-wrap:wrap}

/* v1.73.4 — 3 sàn = 3 không gian riêng: thanh chuyển sàn ở trang Giao dịch + chip chuyển sàn ở tab Lệnh chờ */
.tp-ex3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:0 0 10px;padding:4px;border-radius:12px;background:var(--surface2,rgba(127,127,127,.1));border:1px solid var(--line,#e3e8ed)}
.tp-ex3 button{all:unset;box-sizing:border-box;min-height:42px;display:flex;align-items:center;justify-content:center;gap:6px;padding:0 8px;border-radius:9px;cursor:pointer;font-weight:800;font-size:14px;color:var(--text2);border:1.5px solid transparent;white-space:nowrap}
.tp-ex3 button.on{background:var(--surface,#fff);border-color:var(--ex-c);color:var(--ex-c);box-shadow:0 1px 4px rgba(0,0,0,.12)}
.tp-ex3 button[data-tp-ex="HOSE"]{--ex-c:#2f7bd9}.tp-ex3 button[data-tp-ex="HNX"]{--ex-c:#8a5cd6}.tp-ex3 button[data-tp-ex="UPCOM"]{--ex-c:#c2701a}
html[data-theme="dark"] .tp-ex3 button[data-tp-ex="HOSE"]{--ex-c:#6aa8f0}html[data-theme="dark"] .tp-ex3 button[data-tp-ex="HNX"]{--ex-c:#b494ee}html[data-theme="dark"] .tp-ex3 button[data-tp-ex="UPCOM"]{--ex-c:#f0a860}
.tp-ex3 button i{font-style:normal;min-width:18px;height:18px;padding:0 5px;box-sizing:border-box;display:inline-grid;place-items:center;border-radius:9px;background:var(--ex-c);color:#fff;font-size:11px;font-weight:800}
.od-xl{align-self:center;font-size:11.5px;font-weight:700;color:var(--muted);margin-right:2px}
.od-xf button[data-od-ex="HOSE"].on{--brand:#2f7bd9}.od-xf button[data-od-ex="HNX"].on{--brand:#8a5cd6}.od-xf button[data-od-ex="UPCOM"].on{--brand:#c2701a}
