
    /* ── Hàng hóa (commodities) ── */
    .hh-bar { display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin:14px 0 16px; }
    .hh-groups { display:flex; gap:6px; flex-wrap:wrap; }
    .hh-chip { background:var(--bg3); border:1px solid var(--border); color:var(--text2); font-size:12px;
               padding:5px 11px; border-radius:20px; cursor:pointer; font-family:var(--font); transition:all .12s; }
    .hh-chip:hover { color:var(--text); border-color:var(--accent2); }
    .hh-chip.active { background:rgba(0,145,255,.14); border-color:rgba(0,145,255,.5); color:var(--accent2); font-weight:600; }
    .hh-select { background:var(--bg3); border:1px solid var(--border); color:var(--text); font-size:12px;
                 padding:5px 8px; border-radius:6px; cursor:pointer; }
    .hh-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(232px, 1fr)); gap:12px; }
    .hh-card { background:var(--bg2); border:1px solid var(--border); border-radius:10px; padding:13px 14px 10px;
               cursor:pointer; transition:transform .12s, border-color .12s, box-shadow .12s; display:flex; flex-direction:column; gap:7px; }
    .hh-card:hover { transform:translateY(-2px); border-color:var(--accent2); box-shadow:0 6px 18px rgba(0,0,0,.25); }
    .hh-card-top { display:flex; justify-content:space-between; align-items:flex-start; gap:6px; min-height:30px; }
    .hh-card-name { font-size:13px; color:var(--text); font-weight:600; line-height:1.25;
                    display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
    .hh-card-grp { font-size:9.5px; color:var(--text3); background:var(--bg3); border-radius:4px;
                   padding:2px 5px; white-space:nowrap; flex-shrink:0; }
    .hh-card-val { display:flex; align-items:baseline; gap:5px; }
    .hh-card-num { font-family:var(--mono); font-size:21px; color:var(--text); font-weight:600; }
    .hh-card-unit { font-size:10.5px; color:var(--text3); }
    .hh-card-chgs { display:flex; gap:9px; font-family:var(--mono); font-size:11.5px; font-weight:500; }
    .hh-card-chgs i { font-style:normal; color:var(--text3); font-size:9px; margin-left:2px; }
    .hh-card-spark { margin-top:2px; }
    .hh-card-imp { display:flex; flex-wrap:wrap; gap:4px; align-items:center; margin-top:7px; padding-top:7px; border-top:1px dashed var(--border); }
    .hh-card-imp .imp-lbl { width:100%; font-size:8.5px; color:var(--text3); text-transform:uppercase; letter-spacing:.3px; margin-bottom:1px; }
    .hh-imp { font-family:var(--mono); font-size:10.5px; font-weight:700; padding:1px 5px; border-radius:4px; border:1px solid; line-height:1.55; cursor:help; }
    .hh-card-date { font-size:10px; color:var(--text3); text-align:right; font-family:var(--mono); margin-top:6px; }
    @media (max-width:560px){ .hh-grid { grid-template-columns:repeat(auto-fill, minmax(160px, 1fr)); } }
    /* ── Quỹ mở (funds) ── */
    .qm-table { width:100%; border-collapse:collapse; font-size:12.5px; }
    .qm-table thead th { position:sticky; top:0; background:var(--bg3); color:var(--text3); font-weight:600;
                         font-size:11px; text-transform:uppercase; letter-spacing:.3px; padding:9px 10px; border-bottom:1px solid var(--border); white-space:nowrap; }
    .qm-th { cursor:pointer; user-select:none; transition:color .1s; }
    .qm-th:hover { color:var(--accent2); }
    .qm-table tbody td { padding:8px 10px; border-bottom:1px solid var(--border); color:var(--text); }
    .qm-row { cursor:pointer; transition:background .1s; }
    .qm-row:hover { background:rgba(0,145,255,.06); }
    .qm-type-tag { font-size:10.5px; background:var(--bg3); color:var(--text2); padding:2px 7px; border-radius:10px; white-space:nowrap; }
    .qm-src { font-size:9.5px; font-weight:700; padding:1px 4px; border-radius:3px; margin:0 1px; }
    .qm-src-ssc { background:rgba(0,145,255,.14); color:var(--accent2); }
    .qm-src-fm  { background:rgba(0,229,160,.14); color:var(--accent); }
    .qm-src-hose { background:rgba(255,194,64,.14); color:var(--accent4, #ffc240); }
    .qm-kpi-row { display:grid; grid-template-columns:repeat(6,1fr); gap:8px; margin-top:12px; }
    .qm-kpi { background:var(--bg3); border:1px solid var(--border); border-radius:8px; padding:8px 10px; }
    .qm-kpi-l { font-size:10.5px; color:var(--text3); text-transform:uppercase; letter-spacing:.3px; }
    .qm-kpi-v { font-family:var(--mono); font-size:17.5px; font-weight:600; line-height:1.15; margin-top:1px; }
    .qm-kpi-s { font-size:9.5px; color:var(--text3); }
    .qm-detail-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-top:14px; }
    .qm-an-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
    @media (max-width:720px){ .qm-an-grid { grid-template-columns:1fr; } }
    .qm-held-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; align-items:start; }
    @media (max-width:860px){ .qm-held-grid { grid-template-columns:1fr; } }
    .qm-sec-title { font-size:13px; font-weight:600; color:var(--text2); margin-bottom:6px; }
    .qm-hold-table { width:100%; border-collapse:collapse; font-size:12px; }
    .qm-hold-table th { text-align:left; color:var(--text3); font-size:10.5px; text-transform:uppercase; padding:5px 8px; border-bottom:1px solid var(--border); }
    .qm-hold-table td { padding:5px 8px; border-bottom:1px solid var(--border); }
    .qm-hold-compact th { padding:3px 7px; }
    .qm-hold-compact td { padding:3px 7px; }
    .qm-hold-compact tbody tr:hover { background:rgba(0,145,255,.06); }
    .qm-held-row.qm-held-sel { background:rgba(0,145,255,.16); box-shadow:inset 3px 0 0 var(--accent2); }
    .qm-held-row.qm-held-sel td:first-child { color:var(--accent2); font-weight:700; }
    /* Fund Analysis — asset allocation by fund type (100% stacked bar) */
    .qm-abt-row { display:grid; grid-template-columns:172px 1fr; gap:14px; align-items:center; padding:6px 8px; border-radius:6px; transition:background .12s; }
    .qm-abt-row:hover { background:rgba(255,255,255,.03); }
    .qm-abt-bar { display:flex; height:28px; border-radius:6px; overflow:hidden; box-shadow:inset 0 0 0 1px rgba(255,255,255,.05); }
    .qm-abt-bar > div { transition:filter .12s; }
    .qm-abt-bar > div:hover { filter:brightness(1.12); }
    @media (max-width:640px){ .qm-abt-row { grid-template-columns:120px 1fr; gap:8px; } }
    .qm-sel { background:var(--bg3); color:var(--text); border:1px solid var(--border); border-radius:5px; padding:3px 8px; font-size:11.5px; font-family:inherit; cursor:pointer; outline:none; }
    .qm-sel:hover, .qm-sel:focus { border-color:var(--accent2); }
    @media (max-width:720px){ .qm-detail-grid { grid-template-columns:1fr; } .qm-kpi-row { grid-template-columns:repeat(3,1fr); } }
    .mk-kpi-cell { display:flex; flex-direction:column; gap:2px; min-width:90px; }
    .mk-kpi-lbl  { font-size:11px; color:var(--text3); text-transform:uppercase; letter-spacing:.5px; }
    .mk-kpi-val  { font-family:var(--mono); font-size:15.5px; color:var(--text); font-weight:500; }
    /* Group section headers (5 nhóm: VNINDEX → Khối ngoại → Tự doanh → Ngành → Cổ phiếu) */
    .mk-group-header { display:flex; align-items:center; gap:10px; margin:0 0 12px 0;
                       padding:8px 14px; border-left:3px solid var(--accent2);
                       background:linear-gradient(90deg,rgba(0,145,255,.08) 0%,transparent 80%);
                       border-radius:0 6px 6px 0; }
    .mk-group-num    { font-family:var(--mono); font-size:12px; font-weight:700; color:var(--accent2);
                       background:rgba(0,145,255,.15); padding:2px 8px; border-radius:10px; }
    .mk-group-title  { font-family:'Be Vietnam Pro',sans-serif; font-size:16.5px; font-weight:600;
                       color:var(--text); letter-spacing:-.1px; }
    .mk-group-sub    { font-size:12px; color:var(--text3); font-family:var(--mono);
                       margin-left:auto; }
    .mk-tf-btn   { background:var(--bg3); border:1px solid var(--border); color:var(--text2); font-size:11px;
                   padding:4px 10px; cursor:pointer; font-family:'Be Vietnam Pro',sans-serif; border-radius:3px; }
    .mk-tf-btn:hover { color:var(--text); }
    /* Sub-sub-tab trong subtab Trái phiếu. To hơn .mk-tf-btn (11px) vì đây là
       điều hướng chính của trang, không phải nút lọc phụ. */
    .bd-tabs    { display:flex; gap:6px; flex-wrap:wrap; margin:0 0 16px; }
    .bd-tab     { background:var(--bg3); border:1px solid var(--border); color:var(--text2);
                  font-size:12.5px; padding:7px 14px; border-radius:6px; cursor:pointer;
                  font-family:'Be Vietnam Pro',sans-serif; transition:all .15s;
                  display:inline-flex; align-items:center; gap:6px; }
    .bd-tab:hover   { color:var(--text); border-color:rgba(0,145,255,.3); }
    .bd-tab.active  { background:rgba(0,145,255,.12); border-color:rgba(0,145,255,.45);
                      color:var(--accent2); font-weight:600; }
    .bd-tab-n   { font-size:10.5px; color:var(--text3); font-family:var(--mono); }
    .bd-tab.active .bd-tab-n { color:var(--accent2); opacity:.75; }

    .mk-tf-btn.active { background:rgba(0,145,255,.12); border-color:rgba(0,145,255,.3); color:var(--accent2); }
    .chat-sug { background:var(--bg3); border:1px solid var(--border); color:var(--text2); font-size:12px; padding:5px 10px; border-radius:14px; cursor:pointer; font-family:'Be Vietnam Pro',sans-serif; }
    .chat-sug:hover { border-color:rgba(0,229,160,.45); color:var(--text); }
    .mk-year-dd { background:var(--bg3); border:1px solid var(--border); color:var(--text2);
                  font-size:11px; padding:3px 6px; border-radius:3px; cursor:pointer;
                  font-family:'Be Vietnam Pro',sans-serif; max-width:150px; }
    .mk-year-dd:hover { color:var(--text); }
    .mk-year-dd:focus { outline:none; border-color:rgba(0,145,255,.4); color:var(--accent2); }

    /* Global (world map) sub-tab — full-width map, panel below */
    @media (max-width:900px){ #gl-map, #re-map { height:420px!important; } }
    /* BĐS panel — chart giá (trái) + bảng quận/khu vực (phải) side-by-side */
    .re-cd-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; align-items:start; margin-bottom:6px; }
    .re-col { min-width:0; }
    @media (max-width:900px){ .re-cd-grid { grid-template-columns:1fr; } }
    /* Năng lượng EIA — 3 chart (cơ cấu / điện / xu hướng) trên 1 hàng đều nhau */
    .gl-en-grid3 { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; align-items:start; }
    .gl-en-grid3 > div { min-width:0; }
    @media (max-width:980px){ .gl-en-grid3 { grid-template-columns:1fr; } }
    @media (max-width:860px){ .vn30-charts { grid-template-columns:1fr!important; } }
    #re-map .leaflet-container { background:#0a0c14; font-family:'Be Vietnam Pro',sans-serif; }
    #re-map .leaflet-control-attribution { background:rgba(8,9,15,.7); color:var(--text3); font-size:10px; }
    #re-map .leaflet-bar a { background:var(--bg2); color:var(--text); border-color:var(--border); }
    #re-map .leaflet-control-layers { background:rgba(13,15,26,.92); border:1px solid var(--border); color:var(--text); border-radius:8px; }
    #re-map .leaflet-control-layers-expanded { padding:7px 9px; font-size:12px; }
    #re-map .leaflet-tooltip { background:var(--bg2); color:var(--text); border:1px solid var(--border); }
    #gl-map .leaflet-container { background:#0a0c14; font-family:'Be Vietnam Pro',sans-serif; }
    #gl-map .leaflet-control-attribution { background:rgba(8,9,15,.7); color:var(--text3); font-size:10px; }
    #gl-map .leaflet-control-attribution a { color:var(--text2); }
    #gl-map .leaflet-bar a { background:var(--bg2); color:var(--text); border-color:var(--border); }
    #gl-map .leaflet-bar a:hover { background:var(--bg3); }
    #gl-map .leaflet-popup-content-wrapper, #gl-map .leaflet-popup-tip { background:var(--bg2); color:var(--text); border:1px solid var(--border); }
    /* layer-switch control (Vệ tinh/Bản đồ + overlays) */
    #gl-map .leaflet-control-layers { background:rgba(13,15,26,.92); border:1px solid var(--border); color:var(--text); border-radius:8px; }
    #gl-map .leaflet-control-layers-expanded { padding:8px 10px; font-size:12px; }
    #gl-map .leaflet-control-layers label { margin:3px 0; }
    #gl-map .leaflet-control-layers-separator { border-top:1px solid var(--border); }
    /* city labels on the map */
    .gl-city-lbl { background:transparent; border:none; box-shadow:none; color:#fff; font-size:11px;
                   font-weight:600; text-shadow:0 0 3px #000,0 0 3px #000; padding:0; }
    .gl-city-lbl.cap { color:#ffd866; font-size:12px; }
    .leaflet-tooltip.gl-city-lbl::before { display:none; }
    /* detail panel */
    .gl-kpi-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(165px,1fr)); gap:8px; }
    .gl-kpi { background:var(--bg3); border:1px solid var(--border); border-radius:8px; padding:8px 10px; display:flex; flex-direction:column; gap:3px; }
    .gl-kpi-l { font-size:10.5px; color:var(--text3); text-transform:uppercase; letter-spacing:.3px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
    .gl-kpi-v { font-family:var(--mono); font-size:16.5px; font-weight:600; color:var(--text); }
    .gl-kpi-u { font-size:10px; color:var(--text3); font-weight:400; }
    .gl-src   { font-size:9.5px; color:var(--text3); font-family:var(--mono); }

    /* Macro (Vĩ mô) dashboard */
    .mc-kpi { flex:1 1 108px; min-width:108px; padding:9px 12px; background:var(--bg3);
              border:1px solid var(--border); border-radius:8px; display:flex; flex-direction:column; gap:2px; }
    .mc-kpi-l { font-size:10.5px; color:var(--text3); text-transform:uppercase; letter-spacing:.4px; white-space:nowrap; }
    .mc-kpi-v { font-family:var(--mono); font-size:18.5px; font-weight:600; line-height:1.1; }
    .mc-kpi-s { font-size:10px; color:var(--text3); }
    .mc-head { display:flex; justify-content:space-between; align-items:center; gap:8px;
               font-size:13px; color:var(--text); font-weight:600; margin-bottom:10px; }
    .mc-csv { background:var(--bg3); border:1px solid var(--border); color:var(--text2);
              font-size:10.5px; padding:3px 8px; border-radius:4px; cursor:pointer;
              font-family:'Be Vietnam Pro',sans-serif; white-space:nowrap; }
    .mc-csv:hover { color:var(--accent); border-color:rgba(0,229,160,.3); }
    .mc-trow:hover { background:rgba(0,145,255,0.05); }
    @media (max-width: 920px) { .mc-grid { grid-template-columns:1fr !important; } }
    .mk-row      { display:flex; justify-content:space-between; align-items:center;
                   padding:7px 4px; border-bottom:1px solid var(--border); font-size:12px; }
    .mk-row:last-child { border-bottom:none; }
    .mk-row-tk   { font-family:var(--mono); color:var(--text); font-weight:500; flex:0 0 60px; }
    .mk-row-val  { font-family:var(--mono); font-weight:500; }
    .mk-source-badge { font-size:10px; color:var(--text3); padding:1px 5px; background:var(--bg3);
                       border-radius:3px; margin-left:6px; font-family:var(--mono); }
    .mk-sector-tile { padding:8px 10px; border-radius:6px; font-size:12px; color:var(--text);
                      font-weight:500; display:flex; flex-direction:column; gap:2px;
                      transition:transform .15s; cursor:default; }
    .mk-sector-tile:hover { transform:scale(1.05); z-index:2; }
    .mk-sector-tile .pct  { font-family:var(--mono); font-size:12px; opacity:.85; }

    /* Sector heatmap table (Phase 1.5 redesign — list view with money flow bar) */
    .mk-sec-table { width:100%; border-collapse:collapse; font-size:13px; }
    .mk-sec-table thead th { background:var(--bg2); padding:8px 10px; text-align:left;
                              border-bottom:1px solid var(--border); font-weight:600;
                              color:var(--text2); font-size:11px;
                              text-transform:uppercase; letter-spacing:.5px; }
    .mk-sec-table tbody td { padding:9px 10px; border-bottom:1px solid var(--border);
                              vertical-align:middle; }
    .mk-sec-table tbody tr:hover { background:rgba(0,145,255,0.04); }
    .mk-sec-table tbody tr:last-child td { border-bottom:none; }
    .mk-sec-name { color:var(--text); font-weight:500; }
    .mk-sec-pct  { text-align:right; font-family:var(--mono); font-weight:600; white-space:nowrap; }
    .mk-sec-mcap { text-align:right; font-family:var(--mono); color:var(--text); }
    .mk-sec-flow { padding:9px 10px; }
    .mk-flow-bar { display:flex; height:14px; border-radius:3px; overflow:hidden;
                    background:var(--bg3); }
    .mk-flow-seg { height:100%; transition:opacity .15s; cursor:help; }
    .mk-flow-seg:hover { opacity:.75; }
    .mk-flow-buy     { background:var(--accent);  }  /* green */
    .mk-flow-neutral { background:var(--accent4); }  /* yellow */
    .mk-flow-sell    { background:var(--accent3); }  /* red   */

    /* Sector money-flow ranked bars + drill-down */
    .mk-secflow-row:hover { background:rgba(0,145,255,0.05) !important; }
    @media (max-width: 860px) { .mk-secflow-grid { grid-template-columns:1fr !important; } }

    /* Sector compare panel — multi-select chips */
    .mk-sec-chip {
      display:inline-flex; align-items:center; gap:5px;
      padding:4px 10px; border-radius:14px; cursor:pointer;
      font-size:12px; font-family:'Be Vietnam Pro',sans-serif;
      background:var(--bg3); border:1px solid var(--border);
      color:var(--text2); transition:all .15s; user-select:none;
    }
    .mk-sec-chip:hover { color:var(--text); border-color:var(--text3); }
    .mk-sec-chip.active { color:var(--text); font-weight:500; }
    .mk-sec-chip.active::before {
      content:''; width:8px; height:8px; border-radius:50%;
      background:currentColor; box-shadow:0 0 4px currentColor;
    }
    .mk-sec-chip .pct { font-family:var(--mono); font-size:11px; opacity:.85; margin-left:3px; }

    /* Toolbar + grouped chip layout */
    .mk-sec-toolbar { display:flex; align-items:center; gap:6px; padding:8px 0;
                       border-bottom:1px solid var(--border); margin-bottom:8px; flex-wrap:wrap; }
    .mk-sec-checkbox { display:flex; align-items:center; gap:5px; font-size:12px;
                        color:var(--text2); cursor:pointer; user-select:none; }
    .mk-sec-checkbox input { accent-color:var(--accent2); cursor:pointer; }
    .mk-sec-group { margin-bottom:6px; }
    .mk-sec-group-hdr { display:flex; align-items:center; gap:8px; padding:4px 0; }
    .mk-sec-group-label { font-size:11px; color:var(--text3); text-transform:uppercase;
                           letter-spacing:.5px; font-weight:600; }
    .mk-sec-group-toggle { font-size:11px; color:var(--accent2); cursor:pointer;
                            text-decoration:none; transition:opacity .15s; }
    .mk-sec-group-toggle:hover { opacity:.7; }
    .mk-sec-group-chips { display:flex; flex-wrap:wrap; gap:5px; }
    .mk-stdev-tbl { width:100%; border-collapse:collapse; font-size:12px; }
    .mk-stdev-tbl thead th { position:sticky; top:0; background:var(--bg2); padding:8px;
                             border-bottom:2px solid var(--border); text-align:right; font-weight:600;
                             color:var(--text2); font-size:11px; text-transform:uppercase; letter-spacing:.5px; z-index:1; }
    .mk-stdev-tbl thead th:first-child { text-align:left; }
    .mk-stdev-tbl td { padding:6px 8px; border-bottom:1px solid var(--border); text-align:right;
                       font-family:var(--mono); color:var(--text); }
    .mk-stdev-tbl td:first-child { text-align:left; color:var(--text2); }
    .mk-stdev-tbl tbody tr:hover { background:var(--bg3); }

    /* Exness (MT5) tables + KPIs */
    .ex-tbl { width:100%; border-collapse:collapse; font-size:12.5px; }
    .ex-tbl thead th { position:sticky; top:0; background:var(--bg2); padding:7px 10px;
                       border-bottom:2px solid var(--border); text-align:right; font-weight:600;
                       color:var(--text2); font-size:11px; text-transform:uppercase; letter-spacing:.4px; }
    .ex-tbl thead th:first-child { text-align:left; }
    .ex-tbl td { padding:6px 10px; border-bottom:1px solid var(--border); text-align:right;
                 font-family:var(--mono); color:var(--text); white-space:nowrap; }
    .ex-tbl td:first-child { text-align:left; }
    .ex-tbl tbody tr:hover { background:var(--bg3); }
    .ex-tbl .pos { color:var(--accent); }
    .ex-tbl .neg { color:var(--accent3); }
    .ex-tbl .buy { color:var(--accent); font-weight:700; }
    .ex-tbl .sell { color:var(--accent3); font-weight:700; }
    .ex-tbl .empty { text-align:center; color:var(--text3); padding:18px; font-family:var(--font); }
    /* Hàng TỔNG: sticky dưới header, luôn thấy khi cuộn — số tính trên TOÀN BỘ lệnh
       chứ không riêng 30 dòng đang hiện. */
    .ex-tbl tbody tr.ex-total td { position:sticky; top:29px; background:var(--bg3);
                 border-bottom:2px solid var(--accent2); font-weight:700; color:var(--text);
                 z-index:2; padding-top:8px; padding-bottom:8px; }
    .ex-tbl tbody tr.ex-total:hover td { background:var(--bg3); }
    .ex-tbl .ex-sub { font-size:10.5px; color:var(--text2); font-weight:400; }
    .ex-tbl tr.ex-more td { text-align:center; color:var(--text3); font-family:var(--font);
                 font-size:11.5px; padding:10px; font-style:italic; }
    .ex-tbl tr.ex-more:hover td { background:transparent; }
    .ex-flbl { font-size:10px; color:var(--text3); text-transform:uppercase;
               letter-spacing:.5px; margin-bottom:3px; }
    .ex-fin { width:82px; padding:5px 8px; font-size:12.5px; font-family:var(--mono); }
    .ex-chbtn { padding:4px 12px; font-size:12px; font-weight:600; background:transparent;
                border:none; border-radius:4px; color:var(--text2); cursor:pointer; }
    .ex-tflbl { font-size:10px; color:var(--text3); text-transform:uppercase;
                letter-spacing:.5px; width:74px; display:inline-block; }
    .ex-tfbtn { padding:3px 10px; font-size:11.5px; font-weight:600; background:var(--bg3);
                border:1px solid var(--border); border-radius:4px; color:var(--text2);
                cursor:pointer; font-family:var(--mono); }
    .ex-tfbtn.on { background:var(--accent2); border-color:var(--accent2); color:#000; }
    @keyframes pulse { 0%,100%{opacity:1} 50%{opacity:.25} }
    .ex-kpi-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:10px; }
    .ex-kpi { background:var(--bg3); border:1px solid var(--border); border-radius:8px; padding:12px 14px; }
    .ex-kpi .lbl { font-size:11px; color:var(--text2); text-transform:uppercase; letter-spacing:.4px; margin-bottom:6px; }
    .ex-kpi .val { font-size:19px; font-weight:700; font-family:var(--mono); color:var(--text); }
  