/* Shared opt-in holdings presentation; scoped to the enabled holdings root
[data-holdings-ui] (present only for enabled codes); no other ETF is affected. */
body.active-etf-radar-page:has([data-holdings-ui]) .copy-table-btn { display: inline-flex; }
body:has([data-holdings-ui]) [data-holdings-ui] [hidden] { display: none !important; }
body:has([data-holdings-ui]) .holdings-filters { display: flex; flex-wrap: wrap; gap: 8px; margin: 14px 0 8px; }
body:has([data-holdings-ui]) .holdings-filters button {
  background: rgba(30, 41, 59, .6); border: 1px solid #64748b; border-radius: 8px;
  color: #cbd5e1; padding: 8px 14px; cursor: pointer;
}
body:has([data-holdings-ui]) .holdings-filters button[aria-pressed="true"] { color: #fff; background: #334155; border-color: #94a3b8; }
body:has([data-holdings-ui]) .holdings-filters button:focus-visible,
body:has([data-holdings-ui]) .holdings-observation summary:focus-visible,
body:has([data-holdings-ui]) .holdings-telegram a:focus-visible { outline: 2px solid #5eead4; outline-offset: 3px; }
body:has([data-holdings-ui]) .holdings-help,
body:has([data-holdings-ui]) .active-etf-exposure-note,
body:has([data-holdings-ui]) .active-etf-derivative-method { color: #94a3b8; font-size: 12px; line-height: 1.6; }
body:has([data-holdings-ui]) .holdings-observation { margin-top: 16px; border-top: 1px solid #334155; padding-top: 12px; }
body:has([data-holdings-ui]) .holdings-observation summary { cursor: pointer; color: #cbd5e1; padding: 8px 0; }
body:has([data-holdings-ui]) [data-holdings-result] { color: #94a3b8; font-size: 12px; }
body:has([data-holdings-ui]) [data-holdings-ui] .delta-shares-up { color: #f87171 !important; font-weight: 800; }
body:has([data-holdings-ui]) [data-holdings-ui] .delta-shares-down { color: #4ade80 !important; font-weight: 800; }
body:has([data-holdings-ui]) [data-holdings-ui] .delta-shares-flat { color: #94a3b8; opacity: .7; }
body:has([data-holdings-ui]) [data-holdings-ui] .delta-shares-unknown,
body:has([data-holdings-ui]) [data-holdings-ui] .badge-unknown { color: #94a3b8; }
body:has([data-holdings-ui]) [data-holdings-ui] .badge-unknown {
  display: inline-block; max-width: 100%; box-sizing: border-box;
  white-space: normal; overflow-wrap: anywhere; line-height: 1.4;
}
body:has([data-holdings-ui]) [data-holdings-ui] .active-etf-holdings-table { min-width: 0; }
body:has([data-holdings-ui]) [data-holdings-ui] .badge-buy,
body:has([data-holdings-ui]) [data-holdings-ui] .badge-new { color: #f87171 !important; background: rgba(248, 113, 113, .12); }
body:has([data-holdings-ui]) [data-holdings-ui] .badge-sell { color: #4ade80 !important; background: rgba(74, 222, 128, .12); }
body:has([data-holdings-ui]) .holdings-telegram {
  display: flex; align-items: center; justify-content: space-between; gap: 20px;
  background: rgba(15, 23, 42, .85) !important; border: 1px solid #334155 !important;
  box-shadow: 0 8px 24px rgba(2, 6, 23, .25) !important; border-radius: 12px;
}
body:has([data-holdings-ui]) .holdings-telegram h2 { color: #e2e8f0 !important; font-size: 18px; margin: 0 0 8px; }
body:has([data-holdings-ui]) .holdings-telegram p { color: #94a3b8; font-size: 14px; margin: 0; }
body:has([data-holdings-ui]) .holdings-telegram a {
  display: block; flex-shrink: 0; box-sizing: border-box; text-align: center; padding: 12px 20px;
  color: #f8fafc; background: #334155; border: 1px solid #64748b; border-radius: 8px; text-decoration: none; font-weight: 700;
}
@media (max-width: 640px) {
  body:has([data-holdings-ui]) .holdings-telegram { flex-direction: column; align-items: stretch; gap: 16px; }
  body:has([data-holdings-ui]) .holdings-telegram a { width: 100%; }
}
