/* v2 styles: analytics dashboards (owner W2-ANA). Ported from the prototype's concept-c
   .fd-dash rules; visual only. Loaded after esg_dashboards/*.css when DP_NEW_STYLE is on. */

/* Map the dashboard palette onto the v2 tokens (brand hues stay tenant-driven). */
.dp-v2 .fd-dash {
  --ink: var(--dp-fg);
  --muted: var(--dp-muted-fg);
  --faint: var(--dp-muted-fg);
  --line: var(--dp-border);
  --bg: var(--dp-bg);
  --fdfont: var(--dp-font);
  --teal: var(--bs-primary);
  --teal-dk: var(--dp-fg);
  /* Text on the dashboards is ink (--teal-dk above), but the charts keep the
     company's dark primary: common.js derives it from --teal (C.TEAL_DK). */
  --chart-teal-dk: from-primary;
  --teal-tint: var(--dp-bg);
  --grey: var(--dp-border);
  --greyno: var(--dp-muted);
  --warn: var(--dp-orange);
  --warn-dk: var(--dp-orange);
  --warn-bg: var(--dp-muted);
  --warn-line: var(--dp-border);
  color: var(--dp-fg);
  font-family: var(--dp-font);
  font-size: var(--dp-font-size);
  padding-bottom: 24px;
}

/* header */
.dp-v2 .fd-dash .sub { font-size: 11px; }
.dp-v2 .fd-dash .topbar,
.dp-v2 .fd-dash .ctlrow { gap: 10px; }
.dp-v2 .fd-dash .yearctl select {
  border-radius: var(--dp-radius-ctl);
  padding: 5px 8px;
  font-size: 12px;
  background: var(--dp-card);
  border-color: var(--dp-input-border);
}
.dp-v2 .fd-dash .yearctl .ts-wrapper.single .ts-control { min-width: 4.5rem; padding: 5px 8px; font-size: 12px; }

/* data-confidence chip */
.dp-v2 .fd-dash .trust {
  background: var(--dp-card);
  border: 1px solid var(--dp-border);
  border-radius: var(--dp-radius);
  padding: 2px 8px 2px 3px;
  white-space: nowrap;
  flex-shrink: 0;
  max-width: none;
}
.dp-v2 .fd-dash .trust.warn { background: var(--dp-card); border-color: var(--dp-border); }
.dp-v2 .fd-dash .trust > svg { flex: none; width: 30px; height: 30px; }
.dp-v2 .fd-dash .trust-info { color: var(--dp-muted-fg); margin-left: 4px; }
.dp-v2 .fd-dash .trust-word,
.dp-v2 .fd-dash .trust.warn .trust-word { color: var(--dp-fg); }
.dp-v2 .fd-dash .bang { display: none; }

/* tabs + mode segment */
.dp-v2 .fd-dash .tabs { margin: 8px 0; border-bottom-color: var(--dp-border); }
.dp-v2 .fd-dash .tabs .t { padding: 6px 10px; font-size: 12px; font-weight: 600; color: var(--dp-muted-fg); }
.dp-v2 .fd-dash .tabs .t.on { color: var(--dp-fg); border-bottom: 2px solid var(--dp-fg); }
.dp-v2 .fd-dash .seg {
  background: none;
  border: 1px solid var(--dp-border);
  border-radius: var(--dp-radius);
  padding: 2px;
  margin-bottom: 2px;
}
.dp-v2 .fd-dash .seg button {
  color: var(--dp-muted-fg);
  border-radius: var(--dp-radius-ctl);
  padding: 3px 10px;
  font-size: 11px;
  font-weight: 600;
}
.dp-v2 .fd-dash .seg button.on { background: var(--dp-muted); color: var(--dp-fg); }

/* cards */
.dp-v2 .fd-dash .grid { gap: 8px; }
.dp-v2 .fd-dash .card {
  padding: 10px 11px;
  border: 1px solid var(--dp-border);
  border-radius: var(--dp-radius);
  box-shadow: none;
  background: var(--dp-card);
  overflow: visible;
}
.dp-v2 .fd-dash .card h3 {
  text-align: left;
  margin: 0 0 4px;
  padding: 0;
  border: none;
  background: none;
  color: var(--dp-fg);
  font-size: 11.5px;
  font-weight: 400;
}
.dp-v2 .fd-dash .bignum { color: var(--dp-fg); text-align: center; font-size: 24px; letter-spacing: -.02em; }
.dp-v2 .fd-dash .blabel { text-align: center; margin-top: 2px; font-size: 11px; }
.dp-v2 .fd-dash .plot { height: 230px; min-height: 230px; overflow: visible; }
.dp-v2 .fd-dash .up,
.dp-v2 .fd-dash .body,
.dp-v2 .fd-dash .statwrap { min-height: 230px; }
/* Two statwraps stacked in a .statpair keep the v1 min-height:0 (static/css/esg_dashboards/society.css:23). */
.dp-v2 .fd-dash .statpair .statwrap { min-height: 0; }
/* The pair (e.g. recordable injuries and fatalities) sits in the vertical middle of the
   card, as a single stat does: same 230px body, centred. Only the stacked statwrap pair;
   Finance's side-by-side pair and the compact Home cards are left as they are. */
.dp-v2 .fd-dash:not(.home) .statpair:has(> .statwrap) { min-height: 230px; justify-content: center; }

/* upsell + buttons */
.dp-v2 .fd-dash .up .lock { border-radius: var(--dp-radius); }
.dp-v2 .fd-dash .upbar { border-radius: var(--dp-radius); }
.dp-v2 .fd-dash .btn-primary {
  background: var(--bs-primary);
  color: var(--bs-btn-color, var(--dp-accent-fg));
  border-radius: var(--dp-radius);
  font-size: var(--dp-font-size);
  padding: 7px 14px;
}
.dp-v2 .fd-dash .tbtn {
  background: none;
  border: 0;
  border-radius: var(--dp-radius);
  padding: 8px 4px;
  color: var(--dp-fg);
  font-size: var(--dp-font-size);
  font-weight: 600;
}
.dp-v2 .fd-dash .iconbtn { background: var(--dp-card); border-color: var(--dp-border); font-size: 12px; }
.dp-v2 .fd-dash .iconbtn:hover { color: var(--dp-accent-fg); border-color: var(--dp-border); background: var(--dp-accent); }

/* tables: hairline row dividers only, muted headers, 3% hover */
.dp-v2 .fd-dash table {
  box-shadow: none;
  background: none;
  border: none;
  border-radius: 0;
  font-size: var(--dp-font-size);
}
.dp-v2 .fd-dash td { padding: .625rem .75rem; border-color: transparent; border-bottom-color: var(--dp-border); }
.dp-v2 .fd-dash th {
  padding: .625rem .75rem;
  color: var(--dp-muted-fg);
  background: none;
  font-weight: 500;
  border-color: transparent;
  border-bottom-color: var(--dp-border);
}
.dp-v2 .fd-dash tbody tr:hover td { background: rgba(var(--bs-body-color-rgb), .03); }
.dp-v2 .fd-dash tbody tr:last-child td { border-bottom-color: transparent; }
.dp-v2 .fd-dash .yes { color: var(--dp-fg); }
.dp-v2 .fd-dash .neg { color: var(--dp-destructive); }
.dp-v2 .fd-dash .fd-src-link { color: var(--dp-fg); }
.dp-v2 .fd-dash .fd-src-link:hover { color: var(--bs-primary); }
.dp-v2 .fd-dash .fd-empty { border-radius: var(--dp-radius); background: var(--dp-card); border-color: var(--dp-border); }
.dp-v2 .fd-dash .toast { background: var(--dp-fg); border-radius: var(--dp-radius); font-size: var(--dp-font-size); }

/* governance policies table */
.dp-v2 .fd-dash .ptable { border: none; background: none; }
.dp-v2 .fd-dash .pbar { background: var(--dp-accent); }
.dp-v2 .fd-dash .arrow-up { color: var(--dp-growth); }

/* finance figures */
.dp-v2 .fd-dash .fin-bignum { color: var(--dp-fg); }
.dp-v2 .fd-dash .cap-lev { color: var(--dp-fg); }

/* EIF analytics (portfolio/eif_analytics.html): table cells keep the card colour */
.dp-v2 table td[style*="background-color"] { background-color: var(--dp-card) !important; }

/* per-fund breakdown (dph-21) */
.dp-v2 .fd-dash .hint { color: var(--dp-muted-fg); font-size: var(--dp-font-size); }
.dp-v2 .fd-dash tr.fd-row-portfolio td { font-weight: 600; background: rgba(var(--bs-body-color-rgb), .04); }
.dp-v2 .fd-dash tr.fd-row-none td { color: var(--dp-muted-fg); }
