/* Portfolio Valuations (nodes_assets/dow_valuations, 2026-10-23): the page buttons of the card grid (a big
   universe comes about 50 cards a page). Prefix dv-. Tokens: chip rgba(255,255,255,.06), text #e8e8e8,
   muted #9fb3c8, accent #f0a030. */
.dv-pager.pagination, .dv-pager .pagination {
  --bs-pagination-color: #cfdcea;
  --bs-pagination-bg: rgba(255, 255, 255, 0.06);
  --bs-pagination-border-color: rgba(255, 255, 255, 0.12);
  --bs-pagination-hover-color: #ffffff;
  --bs-pagination-hover-bg: rgba(240, 160, 48, 0.18);
  --bs-pagination-hover-border-color: rgba(240, 160, 48, 0.45);
  --bs-pagination-focus-color: #ffffff;
  --bs-pagination-focus-bg: rgba(240, 160, 48, 0.18);
  --bs-pagination-focus-box-shadow: 0 0 0 0.15rem rgba(240, 160, 48, 0.35);
  --bs-pagination-active-color: #0b1218;
  --bs-pagination-active-bg: #f0a030;
  --bs-pagination-active-border-color: #f0a030;
  --bs-pagination-disabled-color: rgba(255, 255, 255, 0.3);
  --bs-pagination-disabled-bg: rgba(255, 255, 255, 0.03);
  --bs-pagination-disabled-border-color: rgba(255, 255, 255, 0.08);
  margin-bottom: 0;
}

/* 2026-10-25: the market panel's list of sectors / industries / companies (name, weight, share of the yield),
   and the relative valuation table */
.dv-check { max-height: 62vh; overflow-y: auto; padding-right: 4px; }
.dv-check label { display: flex; align-items: baseline; margin: 0 0 3px 0; color: #e8e8e8; font-size: 0.74rem;
                  cursor: pointer; }
.dv-check input { margin-right: 6px; flex: 0 0 auto; }
.dv-opt { display: inline-flex; width: calc(100% - 22px); align-items: baseline; }
.dv-opt-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; flex: 1 1 auto; min-width: 0; }
.dv-opt-side { color: #9fb3c8; font-size: 0.66rem; white-space: nowrap; margin-left: 6px; flex: 0 0 auto; }
.dv-rel-table th { color: #cfefff; font-weight: 600; padding: 3px 8px; text-align: right;
                   border-bottom: 1px solid rgba(255, 255, 255, 0.12); white-space: nowrap; }
.dv-rel-table td { padding: 3px 8px; text-align: right; border-bottom: 1px solid rgba(255, 255, 255, 0.06); }

/* 2026-10-25 (2): the statement-tab feature browser, the company tree, the side list that folds into a rail */
.dv-fb { background: rgba(255, 255, 255, 0.06); border-radius: 10px; padding: 4px 10px 6px; margin-bottom: 8px; }
.dv-fb-head { display: flex; align-items: flex-end; gap: 14px; flex-wrap: wrap;
              border-bottom: 1px solid rgba(255, 255, 255, 0.12); margin-bottom: 4px; }
.dv-ftabs label { display: inline-block; padding: 5px 14px 4px; margin: 0; color: #9fb3c8; font-size: 0.8rem;
                  cursor: pointer; border-bottom: 2px solid transparent; }
.dv-ftabs input { display: none; }
.dv-ftabs label:has(input:checked) { color: #cfefff; border-bottom-color: #f0a030; font-weight: 600; }
.dv-fb-sel { color: #9fb3c8; font-size: 0.72rem; margin: 0 0 5px auto; white-space: nowrap; overflow: hidden;
             text-overflow: ellipsis; max-width: 55%; }
.dv-fb-sel b { color: #ffd79a; font-weight: 600; }
.dv-flist { max-height: 24vh; overflow-y: auto; padding-right: 4px; }
.dv-fsec { color: #6f8599; font-size: 0.64rem; text-transform: uppercase; letter-spacing: 0.04em; margin: 5px 0 3px; }
.dv-fpills { display: flex; flex-wrap: wrap; gap: 4px; }
.dv-fpill { border: 1px solid rgba(255, 255, 255, 0.14); background: rgba(0, 0, 0, 0.25); color: #dfe7ee;
            border-radius: 12px; padding: 1px 10px; font-size: 0.72rem; cursor: pointer; line-height: 1.5; }
.dv-fpill.key { font-weight: 600; color: #ffffff; }
.dv-fpill:hover { border-color: rgba(240, 160, 48, 0.6); }
.dv-fpill.on { background: rgba(240, 160, 48, 0.22); border-color: #f0a030; color: #ffd79a; }

.dv-sw { display: inline-block; width: 8px; height: 8px; border-radius: 50%; margin-right: 6px; flex: 0 0 auto;
         align-self: center; }

.dv-left { flex: 0 0 25%; min-width: 250px; background: rgba(255, 255, 255, 0.06); border-radius: 10px;
           padding: 8px 10px; transition: flex-basis 0.2s ease; }
.dv-left .dv-lhead { display: flex; align-items: center; gap: 8px; margin-bottom: 4px; }
.dv-ibtn { border: 1px solid rgba(255, 255, 255, 0.15); background: rgba(0, 0, 0, 0.3); color: #cfd9e3;
           border-radius: 8px; padding: 1px 7px; font-size: 0.72rem; cursor: pointer; flex: 0 0 auto; }
.dv-ibtn:hover { border-color: #f0a030; color: #ffd79a; }
.dv-left.collapsed { flex: 0 0 132px; min-width: 132px; padding: 8px 6px; }
.dv-left.collapsed .dv-full-only, .dv-left.collapsed .dv-opt-side { display: none; }
.dv-left.collapsed .dv-check label { font-size: 0.68rem; }

.dv-tree { border: 1px solid rgba(255, 255, 255, 0.08); border-radius: 10px; overflow-y: auto; max-height: 46vh;
           background: rgba(0, 0, 0, 0.35); }
.dv-tree .dp-dir.dv-has { color: #ffd79a; }
.dv-tree .dp-dir.dv-has i { color: #f0a030; }
.dv-tleaf { display: flex; align-items: baseline; gap: 8px; width: 100%; border: none; background: none;
            color: #e8e8e8; text-align: left; padding: 5px 10px; cursor: pointer; font-size: 0.76rem;
            border-bottom: 1px solid rgba(255, 255, 255, 0.05); }
.dv-tleaf:hover { background: rgba(255, 255, 255, 0.05); }
.dv-tleaf.on { background: rgba(240, 160, 48, 0.18); color: #ffd79a; }
.dv-tleaf .dv-tk { font-family: Consolas, monospace; font-weight: 700; flex: 0 0 auto; }
.dv-tleaf .dv-tn { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; flex: 1 1 auto; min-width: 0;
                   color: #9fb3c8; }
.dv-tleaf .dp-n { color: #6f8295; font-size: 0.66rem; flex: 0 0 auto; }
.dv-pick { color: #ffd79a; font-weight: 600; font-size: 0.85rem; margin: 2px 0 6px; }
.dv-pick span { color: #9fb3c8; font-weight: 400; font-size: 0.72rem; }
