.dre-page-head { align-items: end; }
.dre-year-selector { align-items: center; flex-wrap: wrap; }
.dre-year-selector label { color: var(--muted); font-weight: 700; }
.dre-year-selector select {
  min-width: 7rem;
  padding: .7rem .85rem;
  border: 1px solid var(--line);
  border-radius: .65rem;
  background: #fff;
  color: var(--ink);
  font: inherit;
}
.dre-panel { overflow: hidden; }
.dre-panel .card-title { padding: 1rem 1.25rem; }
.dre-panel .card-title h2 { margin-bottom: .15rem; }
.dre-freshness { margin: .5rem 0 0; color: var(--muted); font-size: .78rem; line-height: 1.4; }
.dre-source-note { margin: 0; padding: .15rem 1.25rem .9rem; line-height: 1.45; }
.dre-methodology { padding: .65rem 1.25rem .15rem; font-size: .86rem; color: var(--muted); }
.dre-methodology summary { cursor: pointer; color: var(--green); font-weight: 700; }
.dre-methodology .dre-source-note { max-width: 85ch; padding: .6rem 0 .8rem; }
.dre-quality { margin: 0 1.25rem .9rem; font-size: .82rem; }
.dre-quality summary { cursor: pointer; font-weight: 700; }
.dre-quality ul { margin: .45rem 0; padding-left: 1.2rem; }
.dre-quality li { margin-bottom: .35rem; }
.dre-table-wrap { max-width: 100%; overflow-x: auto; }
.dre-period-controls { display: flex; align-items: center; flex-wrap: wrap; gap: .4rem; padding: .7rem 1.25rem; border-top: 1px solid var(--line); background: #f8fbf9; }
.dre-period-controls[hidden] { display: none; }
.dre-period-controls > span { margin-right: .35rem; color: var(--muted); font-size: .78rem; font-weight: 700; }
.dre-period-controls button { padding: .38rem .7rem; border: 1px solid #bdccc7; border-radius: .45rem; background: #fff; color: var(--ink); font: inherit; font-size: .78rem; cursor: pointer; }
.dre-period-controls button[aria-pressed="true"] { background: var(--green); border-color: var(--green); color: #fff; }
.dre-period-controls button:focus-visible { outline: 2px solid var(--green); outline-offset: 2px; }
.dre-table { border-collapse: separate; border-spacing: 0; table-layout: fixed; width: 100%; min-width: 2100px; font-size: .82rem; font-variant-numeric: tabular-nums; }
.dre-table.dre-half-mode { min-width: 1100px; }
.dre-table th, .dre-table td {
  border-bottom: 1px solid var(--line);
  padding: .68rem .85rem;
  line-height: 1.35;
  vertical-align: middle;
}
.dre-table thead th { position: sticky; top: 0; z-index: 2; background: #e8f0ed; color: var(--green); }
.dre-table th:first-child { position: sticky; left: 0; z-index: 1; width: 27%; text-align: left; background: #fff; white-space: normal; }
.dre-table.dre-half-mode th:first-child { width: clamp(14rem, 23%, 20rem); }
.dre-table thead th:first-child { z-index: 3; background: #e8f0ed; }
.dre-table thead th:not(:first-child), .dre-table td { text-align: right; white-space: nowrap; }
.dre-table thead small { display: block; margin-top: .18rem; font-size: .68rem; color: var(--muted); font-weight: 500; }
.dre-table td span, .dre-table td small { display: block !important; white-space: nowrap; }
.dre-table td small { margin-top: .2rem; color: var(--muted); font-size: .7rem; font-weight: 500; }
.dre-table [hidden] { display: none !important; }
.dre-table .dre-annual { background: #eff5f2; border-left: 1px solid #bed3ca; font-weight: 750; }
.dre-table tr[hidden] { display: none; }
.dre-table tbody tr:hover td, .dre-table tbody tr:hover th { background: #f2f8f5; }
.dre-table .dre-depth-0 { font-weight: 750; }
.dre-table .dre-depth-0 th, .dre-table .dre-depth-0 td { border-top: 1px solid #bed3ca; background: #f8fbf9; }
.dre-table .dre-depth-1 th { padding-left: .9rem; }
.dre-table .dre-depth-2 th { padding-left: 1.7rem; font-weight: 500; }
.dre-table .dre-result th, .dre-table .dre-result td { background: #eaf3ef; color: #235b50; }
.dre-table .dre-negative { color: #aa3d36; }
.dre-table .dre-unavailable { color: #899995; }
.dre-table .dre-break-even th, .dre-table .dre-break-even td { border-top: 12px solid #fff; background: #eef5f1; font-weight: 750; }
.dre-toggle { display: inline-flex; align-items: center; gap: .3rem; border: 0; padding: .15rem 0; color: inherit; background: transparent; font: inherit; font-weight: inherit; text-align: left; cursor: pointer; }
.dre-toggle:hover { text-decoration: underline; }
.dre-toggle:focus-visible { outline: 2px solid var(--green); outline-offset: 2px; }
.dre-caret { width: .75rem; flex: none; font-size: .85rem; transition: transform .15s ease; }
[data-dre-group][data-collapsed="false"] .dre-caret { transform: rotate(90deg); }
@media (max-width: 700px) {
  .dre-page-head { align-items: flex-start; }
  .dre-table.dre-half-mode { min-width: 1100px; }
  .dre-table th:first-child { width: 14rem; }
}
