.dt-signal-meter[class],
.dt-sentiment-score[class],
.dt-research-readiness[class],
.dt-forecast-target[class] {
  background: var(--dt-color-surface);
  border: 1px solid var(--dt-color-border);
  border-radius: var(--dt-radius-lg);
  box-shadow: none;
  min-width: 0;
  width: 100%;
}

.dt-signal-meter[class] { gap: 1rem; padding: 1.2rem; }
.dt-signal-meter header strong { font: var(--dt-weight-medium) 1.05rem var(--dt-font-interface); }
.dt-signal-meter__track[class] { background: var(--dt-color-surface-muted); border: 1px solid var(--dt-color-border); height: .5rem; }
.dt-signal-meter[class] .dt-signal-meter__track i { background: var(--dt-chart-1); border: 2px solid var(--dt-color-surface); box-shadow: 0 0 0 1px var(--dt-chart-1); height: 1rem; width: 1rem; }
.dt-signal-meter__labels { color: var(--dt-color-text-muted); font-size: var(--dt-text-xs); }
.dt-signal-meter[class] .dt-signal-meter__labels b { color: var(--dt-color-text); font-weight: var(--dt-weight-medium); }
.dt-signal-meter__facts[class] { border-top: 1px solid var(--dt-color-border); gap: 0; grid-template-columns: repeat(2, minmax(0, 1fr)); padding-top: .4rem; }
.dt-signal-meter[class] .dt-signal-meter__facts span { background: transparent; border-radius: 0; padding: .55rem .5rem .25rem 0; }
.dt-signal-meter__facts strong { font-variant-numeric: tabular-nums; }

.dt-sentiment-score[class] { gap: .8rem; padding: 1.2rem; }
.dt-sentiment-score__ring { height: 6.5rem; width: 6.5rem; }
.dt-sentiment-score__ring > div { height: 5rem; width: 5rem; }
.dt-sentiment-score__ring strong { font-variant-numeric: tabular-nums; }
.dt-sentiment-score h3 { font: var(--dt-weight-medium) 1.05rem var(--dt-font-interface); }

.dt-research-readiness[class] header span { color: var(--dt-color-text-muted); }
.dt-research-readiness header > b { background: transparent; border: 1px solid var(--dt-color-border); border-radius: var(--dt-radius-sm); color: var(--dt-color-text); font-weight: var(--dt-weight-medium); }
.dt-research-readiness__score { height: 6.5rem; width: 6.5rem; }
.dt-research-readiness__score > span { align-items: center; gap: .1rem; height: 5rem; width: 5rem; }
.dt-research-readiness__score strong { font: var(--dt-weight-medium) 2rem/1 var(--dt-font-interface); font-variant-numeric: tabular-nums; }
.dt-research-readiness__score small { color: var(--dt-color-text-muted); font: var(--dt-weight-medium) var(--dt-text-xs)/1 var(--dt-font-compact); }
.dt-research-readiness dl { gap: 0; }
.dt-research-readiness[class] dl div { background: transparent; border-bottom: 1px solid var(--dt-color-border); border-radius: 0; padding: .65rem .5rem .65rem 0; }
.dt-research-readiness dd { font-variant-numeric: tabular-nums; }

.dt-forecast-target[class] { display: grid; gap: 1rem; padding: 1.2rem; }
.dt-forecast-target header { flex-wrap: wrap; gap: .5rem; }
.dt-forecast-target header > span { color: var(--dt-color-text-muted); }
.dt-forecast-target header b { background: transparent; border: 1px solid var(--dt-color-border); border-radius: var(--dt-radius-sm); color: var(--dt-color-text); font-weight: var(--dt-weight-medium); }
.dt-forecast-target__headline { align-items: baseline; flex-wrap: wrap; gap: .6rem; }
.dt-forecast-target__headline strong { font: var(--dt-weight-medium) 1.8rem/1.1 var(--dt-font-interface); font-variant-numeric: tabular-nums; }
.dt-forecast-target__headline em { font-style: normal; font-weight: var(--dt-weight-semibold); }
.dt-forecast-target__headline em.is-positive { color: var(--dt-color-return-positive); }
.dt-forecast-target__headline em.is-negative { color: var(--dt-color-return-negative); }
.dt-forecast-target__headline em.is-neutral { color: var(--dt-color-text-muted); }
.dt-forecast-target__range[class] { background: var(--dt-color-surface-muted); border: 1px solid var(--dt-color-border); height: .5rem; }
.dt-forecast-target__range span { background: var(--dt-chart-1); border: 2px solid var(--dt-color-surface); box-shadow: 0 0 0 1px var(--dt-chart-1); }
.dt-forecast-target[class] dl { border-top: 1px solid var(--dt-color-border); grid-template-columns: repeat(4, minmax(0, 1fr)); }
.dt-forecast-target[class] dl > div { border: 0; box-shadow: none; padding: .75rem .5rem .15rem 0; }
.dt-forecast-target dt { color: var(--dt-color-text-muted); }
.dt-forecast-target dd { font-variant-numeric: tabular-nums; }

@media (max-width: 40rem) {
  .dt-forecast-target[class] dl { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dt-forecast-target[class] dl div:nth-child(n + 3) { border-top: 1px solid var(--dt-color-border); }
}
