.econ-changes {
  margin: 22px 0 8px;
  padding: 18px;
  background: var(--econ-surface-soft, #fbf8f3);
  border-radius: 8px;
  color: var(--econ-ink, #1f1f1f);
}
.econ-explain-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.econ-section .econ-explain-heading h4 { padding: 0; margin: 0; font-size: 1.15rem; }
.econ-change-tabs { display: flex; gap: 6px; }
.econ-explain-period, .econ-change-context, .econ-change-breadth { margin: 10px 0; font-size: .8rem; color: var(--econ-muted, #66605b); line-height: 1.5; }
.econ-change-total { display: flex; flex-direction: column; gap: 5px; margin: 16px 0 6px; font-size: .88rem; }
.econ-change-total strong { font-size: 1.45rem; font-variant-numeric: tabular-nums; }
.econ-change-total small { font-size: .95rem; white-space: nowrap; }
.econ-change-movers { display: grid; gap: 8px; padding: 0; margin: 16px 0; list-style: none; font-size: .88rem; }
.econ-change-movers li { display: flex; justify-content: space-between; gap: 12px; }
.econ-change-movers strong { white-space: nowrap; font-variant-numeric: tabular-nums; }
.econ-explain-positive { color: #1A8F85; }
.econ-explain-negative { color: #EF4047; }
.econ-explain-note { margin: 10px 0; font-size: .8rem; color: var(--econ-muted, #66605b); line-height: 1.55; }
.econ-explain-details { margin-top: 14px; }
.econ-explain-details > summary, .econ-explain-quality > summary { cursor: pointer; padding: 10px 0; color: var(--econ-ink, #1f1f1f); font-size: .85rem; line-height: 1.5; }
.econ-explain-details > summary:focus-visible, .econ-explain-quality > summary:focus-visible { outline: 2px solid var(--econ-blue, #2369a9); outline-offset: 3px; }
.econ-explain-table-scroll { overflow-x: auto; max-width: 100%; }
.econ-explain-table { width: 100%; border-collapse: collapse; font-size: .8rem; font-variant-numeric: tabular-nums; }
.econ-explain-table th, .econ-explain-table td { padding: 10px 6px; text-align: right; border-bottom: 1px solid var(--econ-border, #d9d2c9); }
.econ-explain-table th:first-child { text-align: left; font-weight: 500; }
.econ-explain-table td { white-space: nowrap; }
.econ-explain-table small { display: block; color: var(--econ-muted, #66605b); margin-top: 5px; font-weight: 400; }
.econ-explain-quality { margin-top: 8px; font-size: .8rem; }
.econ-explain-quality-body { padding: 0 0 8px 14px; }
.econ-explain-quality-body p { margin: 8px 0; }
.econ-explain-quality-body ul { list-style: none; padding: 0; display: grid; gap: 8px; }
.econ-explain-quality-body li { display: flex; justify-content: space-between; gap: 12px; }
.econ-quality-dot { display: inline-block; width: 7px; height: 7px; margin: 0 6px 1px 0; border-radius: 50%; background: #777; }
.econ-quality-dot.fresh { background: #1A8F85; }
.econ-quality-dot.partial { background: #a66c0c; }
.econ-quality-dot.stale { background: #777; }
.econ-metric-evidence { margin-top: 12px; font-size: .75rem; color: var(--econ-muted, #66605b); line-height: 1.5; }
.econ-metric-evidence p { margin: 4px 0; }
.econ-stress-details { width: 100%; max-width: 100%; }
.econ-stress-facts { display: grid; gap: 12px; margin: 14px 0; font-size: .85rem; }
.econ-stress-facts div { display: flex; justify-content: space-between; gap: 10px; }
.econ-stress-facts dd { margin: 0; font-weight: 700; white-space: nowrap; }
.econ-stress-history { margin: 16px 0; }
.econ-stress-history figcaption { color: var(--econ-muted, #66605b); font-size: .75rem; }
.econ-stress-history svg { display: block; width: 100%; max-height: 120px; color: var(--econ-blue, #2369a9); margin-top: 8px; }
.econ-stress-history > div { display: flex; justify-content: space-between; gap: 14px; font-size: .75rem; color: var(--econ-muted, #66605b); line-height: 1.6; }
.econ-stress-history > div span:last-child { text-align: right; }
@media (max-width: 600px) {
  .econ-changes { padding: 14px 10px; }
  .econ-change-tabs .econ-btn { font-size: .75rem; padding: 8px 12px; }
  .econ-explain-quality-body li { flex-wrap: wrap; gap: 4px 12px; }
  .econ-change-total strong { font-size: 1.2rem; }
  .econ-change-total small { font-size: .85rem; }
}
