/* ===== VM INVEST · Bảng điện (Lightning) & Nhóm ngành — dùng chung trang quản trị và trang khách ===== */
.vmb{--b-bg:#0b1220;--b-head:#111b2c;--b-line:#1e2a3d;--b-cell:#182234;--b-ink:#d7dee9;--b-mute:#8fa1b9;--b-hover:#16233a;--b-match:#0e1828;
  --c-ce:#c47dff;--c-fl:#45b4ff;--c-rf:#e8c430;--c-up:#2cc278;--c-dn:#ff5d55;--gold:#e2b65a;
  --t-up:rgba(44,194,120,.18);--t-dn:rgba(255,93,85,.17);--t-rf:rgba(232,196,48,.18);--t-ce:rgba(196,125,255,.2);--t-fl:rgba(69,180,255,.18)}
.vmb.light{--b-bg:#fff;--b-head:#eef2f7;--b-line:#d9dfe8;--b-cell:#e6ebf2;--b-ink:#0f1a2b;--b-mute:#5a6578;--b-hover:#f3f6fb;--b-match:#f6f8fb;
  --c-ce:#8a3ccf;--c-fl:#1784c7;--c-rf:#a07800;--c-up:#0a8a4a;--c-dn:#d0342b;--gold:#9c6f16;
  --t-up:rgba(10,138,74,.12);--t-dn:rgba(208,52,43,.11);--t-rf:rgba(179,135,0,.13);--t-ce:rgba(138,60,207,.12);--t-fl:rgba(23,132,199,.12)}
.vmb{background:var(--b-bg);color:var(--b-ink);border:1px solid var(--b-line);border-radius:12px;padding:10px}
.vmb .cE{color:var(--c-ce)}.vmb .fL{color:var(--c-fl)}.vmb .rF{color:var(--c-rf)}.vmb .uP{color:var(--c-up)}.vmb .dN{color:var(--c-dn)}
/* dải chỉ số */
.vmb-idx{display:flex;flex-wrap:wrap;gap:8px;align-items:stretch;margin-bottom:10px}
.vmb-idx .ix{display:flex;align-items:center;gap:10px;background:var(--b-head);border:1px solid var(--b-line);border-radius:10px;padding:7px 12px;min-width:200px}
.vmb-idx .ix b{display:block;font:600 12px var(--f-body,system-ui);color:var(--b-mute)}
.vmb-idx .ix .v{font:700 17px var(--f-mono,monospace)}
.vmb-idx .ix .c{font:600 12px var(--f-mono,monospace)}
.vmb-idx .breadth{margin-left:auto;display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;font:600 12.5px var(--f-mono,monospace);background:var(--b-head);border:1px solid var(--b-line);border-radius:10px;padding:7px 12px}
.vmb-idx .breadth span.l{color:var(--b-mute);font-family:var(--f-body,system-ui);font-weight:500}
/* thanh chọn nhóm */
.vmb-bar{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-bottom:8px}
.vmb-bar input,.vmb-bar select,.vmb-bar button{font:600 13px var(--f-body,system-ui);color:var(--b-ink);background:var(--b-head);border:1px solid var(--b-line);border-radius:8px;padding:7px 10px;cursor:pointer}
.vmb-bar input{cursor:text;width:120px;text-transform:uppercase}
.vmb-bar .on{background:var(--gold);border-color:var(--gold);color:#1b1404}
.vmb-bar .add{background:var(--gold);color:#1b1404;border-color:var(--gold);padding:7px 11px}
.vmb-bar .info{color:var(--b-mute);font:500 12px var(--f-body,system-ui)}
.vmb-bar .sp{flex:1}
/* bảng điện */
.vmb-wrap{overflow:auto;max-height:calc(100vh - 260px);border-radius:8px;border:1px solid var(--b-line)}
table.vmb-t{border-collapse:collapse;font:12.5px/1.35 var(--f-mono,monospace);width:100%;min-width:1220px}
.vmb-t th{position:sticky;top:0;background:var(--b-head);color:var(--b-mute);font:600 11px var(--f-body,system-ui);padding:5px 6px;border:1px solid var(--b-line);text-align:center;white-space:nowrap;z-index:1}
.vmb-t thead tr:nth-child(2) th{top:24px}
.vmb-t th.s{cursor:pointer}.vmb-t th.s:hover{color:var(--gold)}
.vmb-t td{padding:4px 6px;border:1px solid var(--b-cell);text-align:right;white-space:nowrap}
.vmb-t td.st{text-align:center;cursor:pointer;color:var(--b-mute);width:26px}
.vmb-t td.st.on{color:var(--gold)}
.vmb-t td.sym{text-align:left;font-weight:700}
.vmb-t td.sym small{color:var(--gold);font-size:10px;margin-left:4px;font-weight:600;border:1px solid currentColor;border-radius:4px;padding:0 3px}
.vmb-t td.sym .ch{cursor:pointer;margin-left:6px;opacity:.6;font-size:11px}
.vmb-t td.sym .ch:hover{opacity:1}
.vmb-t td.m{background:var(--b-match);font-weight:700}
.vmb-t td.ce{color:var(--c-ce)}.vmb-t td.fl{color:var(--c-fl)}.vmb-t td.rf{color:var(--c-rf)}
.vmb-t tr:hover td{background:var(--b-hover)}
.vmb-t td.fu{animation:vmbfu 1s}.vmb-t td.fd{animation:vmbfd 1s}
@keyframes vmbfu{from{background:rgba(44,194,120,.45)}to{background:transparent}}
@keyframes vmbfd{from{background:rgba(255,93,85,.45)}to{background:transparent}}
.vmb-legend{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:8px;font:500 12px var(--f-body,system-ui);color:var(--b-mute)}
.vmb-legend i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:5px;vertical-align:-1px}
/* nhóm ngành */
.vmb-sub{display:flex;gap:6px;margin-bottom:10px;flex-wrap:wrap;align-items:center}
.vmb-sub button{font:600 13px var(--f-body,system-ui);color:var(--b-ink);background:var(--b-head);border:1px solid var(--b-line);border-radius:8px;padding:7px 12px;cursor:pointer}
.vmb-sub button.on{background:var(--gold);border-color:var(--gold);color:#1b1404}
.vmb-cards{columns:250px;column-gap:8px}
.vmb-card{break-inside:avoid;margin:0 0 8px;border:1px solid var(--b-line);border-radius:8px;overflow:hidden;background:var(--b-head)}
.vmb-card h4{margin:0;display:flex;justify-content:space-between;align-items:center;gap:6px;padding:7px 10px;color:#fff;font:800 13px var(--f-body,system-ui);text-transform:uppercase;letter-spacing:.02em}
.vmb-card h4 i{width:8px;height:8px;border-radius:50%;background:#fff;opacity:.85;display:inline-block;margin-right:6px}
.vmb-card table{width:100%;border-collapse:collapse;font:12.5px var(--f-mono,monospace)}
.vmb-card th{font:600 10.5px var(--f-body,system-ui);color:var(--b-mute);text-align:right;padding:4px 8px;border-bottom:1px solid var(--b-line)}
.vmb-card th:first-child,.vmb-card td:first-child{text-align:left}
.vmb-card td{padding:4px 8px;text-align:right;border-bottom:1px solid var(--b-line);font-weight:600;cursor:pointer}
.vmb-card tr.uP td{background:var(--t-up)}.vmb-card tr.dN td{background:var(--t-dn)}.vmb-card tr.rF td{background:var(--t-rf)}
.vmb-card tr.cE td{background:var(--t-ce)}.vmb-card tr.fL td{background:var(--t-fl)}
.vmb-card .more{display:block;text-align:center;padding:6px;font:600 12px var(--f-body,system-ui);color:var(--gold);cursor:pointer}
.vmb-rank{margin-top:12px;border:1px solid var(--b-line);border-radius:10px;padding:10px;background:var(--b-head)}
.vmb-rank .hd{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px}
.vmb-rank .hd b{font:800 14px var(--f-body,system-ui);text-transform:uppercase}
.vmb-rank .cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(420px,1fr));gap:4px 24px}
.vmb-rank table{width:100%;border-collapse:collapse;font:13px var(--f-body,system-ui)}
.vmb-rank th{color:var(--b-mute);font-size:11px;text-align:left;padding:5px 6px;border-bottom:1px solid var(--b-line)}
.vmb-rank td{padding:6px;border-bottom:1px solid var(--b-line);cursor:pointer}
.vmb-rank td.n{text-align:right;font-family:var(--f-mono,monospace);font-weight:700}
.vmb-rank .dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:7px}
.vmb-rank .medal{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;border:1px solid var(--gold);color:var(--gold);font-size:11px;font-weight:700}
.vmb-mem{margin-top:12px}
.vmb-mem h4{margin:0 0 8px;font:800 15px var(--f-body,system-ui)}
.vmb-mkt{display:flex;flex-wrap:wrap;gap:6px 18px;align-items:center;font:600 13px var(--f-body,system-ui);margin-bottom:10px}
.vmb-heat{display:flex;flex-wrap:wrap;gap:4px;margin:10px 0}
.vmb-heat::after{content:'';flex:999 1 0}
.vmb-heat .t{flex:1 1 140px;min-height:74px;border-radius:8px;padding:8px 10px;color:#fff;cursor:pointer;display:flex;flex-direction:column;justify-content:space-between}
.vmb-heat .t b{font-size:13px}.vmb-heat .t span{font:700 16px var(--f-mono,monospace)}.vmb-heat .t small{font-size:11px;opacity:.85}
.vmb-err{padding:16px;color:var(--c-dn);font:600 13px var(--f-body,system-ui)}
@media (max-width:640px){.vmb-idx .ix{min-width:150px;flex:1}.vmb-idx .breadth{margin-left:0;width:100%}.vmb-rank .cols{grid-template-columns:1fr}}
