/* Market-data presentation. All colours follow the News & Impact theme. */
.ni-market-context { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .8rem; }
.ni-market-context > div { min-width: 0; padding: .85rem 1rem; border: 1px solid var(--tm-line); border-radius: 12px; background: var(--tm-bg-soft); }
.ni-market-context h3 { display: flex; align-items: center; gap: .45rem; margin: 0 0 .35rem; font-size: .75rem; color: var(--tm-text-2); }
.ni-market-context h3 i { color: var(--tm-accent); font-size: .75rem; }
.ni-market-context p { margin: 0; color: var(--tm-muted); font-size: .72rem; line-height: 1.65; }
.ni-market-details > summary { color: var(--tm-accent); font-weight: 600; cursor: pointer; font-size: .7rem; }
.ni-market-details > summary:focus-visible, .ni-market-fold > summary:focus-visible { outline: 2px solid var(--tm-accent); outline-offset: 3px; border-radius: 3px; }
.ni-market-details[open] > summary { margin-bottom: .5rem; }
.ni-market-facts { display: grid; grid-template-columns: minmax(7rem, 1fr) minmax(6rem, auto); gap: .35rem .75rem; margin: .5rem 0 0; padding: .7rem; border: 1px solid var(--tm-line); border-radius: .6rem; background: var(--tm-bg-soft); font-size: .7rem; text-align: left; white-space: normal; }
.ni-market-facts dt { color: var(--tm-muted); font-weight: 400; }
.ni-market-facts dd { margin: 0; color: var(--tm-text-2); font-variant-numeric: tabular-nums; }
.ni-market-fold > summary { display: flex; align-items: center; gap: .65rem; padding: 1rem; cursor: pointer; list-style: none; }
.ni-market-fold > summary::-webkit-details-marker { display: none; }
.ni-market-fold > summary::after { content: '+'; font-size: 1.1rem; color: var(--tm-accent); margin-left: auto; }
.ni-market-fold[open] > summary::after { content: '−'; }
.ni-market-fold[open] > summary { border-bottom: 1px solid var(--tm-line); }
.ni-market-fold > summary h3 { margin: 0; font-size: .85rem; color: var(--tm-text); }
.ni-market-fold > summary p { margin: .25rem 0 0; color: var(--tm-muted); font-size: .72rem; line-height: 1.5; }
.ni-market-fold > summary i { display: grid; place-items: center; width: 2.1rem; height: 2.1rem; flex-shrink: 0; border-radius: .6rem; color: var(--tm-accent); background: var(--tm-accent-bg); }
.ni-market-table .ni-market-name { display: block; max-width: 15rem; white-space: normal; line-height: 1.5; }
.ni-market-table .ni-market-nav { min-width: 12rem; }
.ni-market-table .ni-market-nav .ni-market-details { margin-top: .35rem; }
.ni-market-period { display: block; margin-top: .25rem; color: var(--tm-muted); font-size: .66rem; line-height: 1.5; white-space: normal; }
.ni-market-scope { margin: -.3rem 0 0; color: var(--tm-muted); font-size: .69rem; line-height: 1.6; }
.ni-market-event-detail { max-width: 42rem; white-space: normal; line-height: 1.7; }
.ni-market-event-detail p { margin: .55rem 0 0; }
.ni-market-event-date { display: inline-flex; flex-direction: column; gap: .15rem; font-variant-numeric: tabular-nums; }
.ni-market-event-date b { color: var(--tm-text); font-size: .85rem; }
.ni-market-event-date small { font-size: .66rem; color: var(--tm-muted); }
.ni-market-remark { margin: 0; padding: 1rem; font-size: .8rem; line-height: 1.7; color: var(--tm-text-2); }
@media (max-width: 767px) {
  .ni-market-context { grid-template-columns: 1fr; gap: .5rem; }
  .ni-market-context > div { padding: .7rem .85rem; }
  .ni-market-fold > summary { padding: .85rem; }
}
