.sim-grid {
  display: grid;
  grid-template-columns: minmax(240px, .82fr) minmax(320px, 1.13fr) minmax(320px, 1.05fr);
  align-items: start;
  gap: 12px;
}
.controls-panel, .plant-column, .insights-column { min-width: 0; }
.controls-panel { position: sticky; top: 80px; }
.insights-column { display: grid; gap: 0; }
.lower-grid { align-items: stretch; }
.sim-grid[data-chart-mobile="efficiency"] .efficiency-panel { display: none; }

@media (min-width: 1025px) {
  .controls-panel { max-height: calc(100vh - 90px); overflow: auto; scrollbar-width: thin; scrollbar-color: var(--border-strong) transparent; }
}

@media (min-width: 640px) and (max-width: 1024px) {
  .sim-grid { grid-template-columns: minmax(250px, .8fr) minmax(0, 1.2fr); gap: 12px; }
  .controls-panel { grid-row: span 2; position: static; }
  .insights-column { grid-column: 1 / -1; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .diagram-panel { margin-top: 0; }
  .lower-grid { grid-template-columns: 1.3fr 1fr; }
}

@media (max-width: 639px) {
  main { padding-right: 14px; padding-left: 14px; }
  .sim-grid { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  .controls-panel { position: static; }
  .plant-column { display: contents; }
  .metrics-grid { order: 1; }
  .controls-panel { order: 0; }
  .turbine-panel { order: 2; }
  .presets-panel { order: 4; }
  .insights-column { display: contents; }
  .efficiency-panel { order: 5; }
  .diagram-panel { order: 6; }
  .lower-grid { grid-template-columns: minmax(0, 1fr); gap: 10px; margin-top: 10px; }
}
