.forecast-periods { display:flex; flex-wrap:wrap; gap:8px; margin:20px 0; }
.forecast-periods a { padding:9px 14px; border:1px solid #dbe4dd; border-radius:10px; background:#fff; text-decoration:none; }
.forecast-periods a[aria-current="page"] { color:#fff; background:#21764b; border-color:#21764b; }
.forecast-badge { display:inline-block; padding:4px 8px; border-radius:7px; font-size:12px; font-weight:600; }
.forecast-badge-official { color:#17633e; background:#e5f4eb; }
.forecast-badge-forecast { color:#74511b; background:#fff2db; }
.forecast-origin { display:block; margin-top:5px; color:#68796d; font-size:11px; }
.forecast-chart { height:350px; min-width:0; }
.forecast-chart-state { display:block; padding:30px; color:#68796d; }
.forecast-table-wrap { overflow-x:auto; }
.forecast-table { width:100%; border-collapse:collapse; font-variant-numeric:tabular-nums; }
.forecast-table th,.forecast-table td { padding:12px 10px; text-align:right; border-bottom:1px solid #e6ece8; }
.forecast-table th { color:#68796d; font-size:12px; }
.forecast-table th:first-child,.forecast-table td:first-child { text-align:left; }
.forecast-current { margin-top:20px; padding-top:16px; border-top:1px solid var(--rate-border); }
.forecast-current>span,.forecast-current>strong,.forecast-current>a { display:block; }
.forecast-current>span { color:var(--rate-muted); font-size:13px; }
.forecast-current>strong { margin:5px 0; font-size:24px; font-variant-numeric:tabular-nums; }
.forecast-current small { font-size:13px; font-weight:400; }
.forecast-rate-value { display:flex; flex-direction:column; align-items:flex-end; gap:5px; }
.forecast-table .rate-weekend { background:#f5f8f6; }
.forecast-weekday { color:#68796d; font-size:12px; }
.forecast-reference { font-size:26px; font-weight:700; }
.forecast-reference small { display:block; font-size:12px; font-weight:400; }
@media(max-width:640px) {
  .forecast-chart { height:260px; }
  .forecast-table thead { display:none; }
  .forecast-table,.forecast-table tbody,.forecast-table tr,.forecast-table td { display:block; }
  .forecast-table tr { padding:12px 0; border-bottom:1px solid #dbe4dd; }
  .forecast-table td { display:flex; align-items:baseline; justify-content:space-between; gap:14px; border:0; padding:6px 0; text-align:right; }
  .forecast-table td::before { content:attr(data-label); color:#68796d; font-size:12px; text-align:left; }
}
