.month-tools .month-select{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:13px;white-space:nowrap}
.month-tools .month-select input{width:180px;min-width:0;height:40px;padding:7px 10px;font:inherit;background:var(--surface-subtle);color:var(--ink);border:1px solid var(--line);border-radius:8px}
.month-tools .toolbar{flex-basis:100%;order:3}
.month-legend{margin:0 0 10px}
/* Match cabinet charts: floating details must escape the card and overlap neighbours. */
.month-chart-card{padding:18px;min-width:0;margin:0;overflow:visible}
.month-chart-card:hover,.month-chart-card:focus-within,
.month-chart-card:has(.hour-floating:not([hidden]),.month-point-detail:not([hidden])){position:relative;z-index:5}
.month-card-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
.month-card-heading h2{display:flex;align-items:center;gap:10px;margin:0;font-size:18px;font-weight:600;min-width:0}
.month-card-heading .mp-icon{flex-shrink:0}
.month-change{font-size:14px;white-space:nowrap;font-variant-numeric:tabular-nums}
.month-card-subtitle{font-size:12px;color:var(--muted);margin:-7px 0 12px}
.month-local-legend{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(122px,1fr);gap:8px;margin-bottom:8px;overflow-x:auto;padding-bottom:3px}
.month-local-period{min-width:0;display:flex;flex-direction:column;gap:3px}
.month-local-period span{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted)}
.month-local-period i{width:19px;border-top-width:3px;flex-shrink:0}
.month-local-period b{font-size:13px;font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap}
.month-local-period:first-child b{color:var(--chart-current)}
.month-plot{position:relative}
.month-plot:not(.month-plot-small) .chart-viewport>.hourly-chart{min-width:630px;min-height:0}
.month-plot-small .chart-viewport>.hourly-chart{min-width:0;min-height:0}
.month-point-detail{position:absolute;left:12px;right:12px;bottom:38px;padding:10px 12px;background:var(--surface-subtle);border:1px solid var(--line);border-radius:8px;font-size:12px;color:var(--ink);line-height:1.6;box-shadow:0 6px 18px var(--theme-shadow-color,#0006);pointer-events:none;z-index:3}
.month-coverage-note{font-size:12px;line-height:1.5;color:var(--muted);margin-top:8px}
.month-loading{min-height:245px;display:flex;align-items:center;justify-content:center;gap:8px;color:var(--muted);font-size:14px}
.month-more{display:flex;gap:14px;align-items:center;justify-content:center;margin:20px 0;color:var(--muted);font-size:13px}
.month-data-table .table-wrap{max-height:380px;overflow:auto}
.month-data-table thead th{position:sticky;top:0;background:var(--surface-subtle);z-index:2}
.month-data-table tbody th{position:sticky;left:0;background:var(--surface);z-index:1}
.group-view-tabs{margin:0 0 20px}
@media(max-width:650px){.month-tools .month-select{flex:1}.month-tools .month-select input{flex:1;max-width:210px}.month-chart-card{padding:14px}.month-local-period b{font-size:13px}.month-card-heading h2{font-size:17px}.month-local-legend{gap:8px}.month-plot-small .hourly-chart text{font-size:15px}}

.month-legend .comparison-item{padding:7px 10px}.month-legend .comparison-item small{font-size:12px}.month-card-heading{margin-bottom:8px}.month-local-period span{white-space:nowrap}
