.bpm-workbench { display: grid; gap: var(--iw-space-3); grid-template-columns: minmax(17rem, 20rem) minmax(25rem, 1.35fr) minmax(18rem, 1fr); grid-template-rows: repeat(2, minmax(0, 1fr)); padding: var(--iw-space-3); }
.bpm-sidebar { grid-column: 1; grid-row: 1 / -1; overflow-y: auto; padding-right: .2rem; }
.bpm-form { gap: var(--iw-space-2); }
.bpm-sidebar h2, .bpm-workbench > .iw-plot-card h2 { font-size: var(--iw-font-size-md); margin: 0; }
.bpm-sidebar .iw-field-row, .bpm-sweep-fields, .bpm-advanced-fields { display: grid; gap: var(--iw-space-2); grid-template-columns: 1fr; }
.bpm-advanced-fields { padding-top: var(--iw-space-3); }
.bpm-result-details summary { font-variant-numeric: tabular-nums; }
.bpm-details { display: grid; gap: .5rem; margin: .7rem 0 0; }
.bpm-details div { display: grid; gap: .15rem; }
.bpm-details dt { color: var(--iw-text-muted); font-size: var(--iw-font-size-sm); }
.bpm-details dd { margin: 0; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.bpm-sweep-card { grid-column: 2; grid-row: 1 / -1; min-height: 0; }
.bpm-top-card { grid-column: 3; grid-row: 1; }
.bpm-side-card { grid-column: 3; grid-row: 2; }
.bpm-trajectory-card { min-height: 0; }
.bpm-workbench > .iw-plot-card .iw-plot-surface { flex: 1 1 auto; height: auto; }
.bpm-plot-header { align-items: baseline; display: flex; gap: var(--iw-space-2); justify-content: space-between; }
.bpm-plot-header span { color: var(--iw-text-muted); font-size: var(--iw-font-size-sm); }

@media (max-width: 1180px) {
  .bpm-workbench { grid-template-columns: minmax(16rem, 19rem) repeat(2, minmax(0, 1fr)); grid-template-rows: minmax(25rem, 1fr) minmax(22rem, .85fr); overflow-y: auto; }
  .bpm-sidebar { grid-row: 1 / -1; }
  .bpm-sweep-card { grid-column: 2 / -1; grid-row: 1; }
  .bpm-top-card { grid-column: 2; grid-row: 2; }
  .bpm-side-card { grid-column: 3; grid-row: 2; }
}

@media (max-width: 900px) {
  .bpm-workbench { display: flex; flex-direction: column; height: 100%; min-height: 0; overflow-x: hidden; overflow-y: auto; }
  .bpm-sidebar, .bpm-sweep-card, .bpm-trajectory-card { flex: 0 0 auto; overflow: visible; }
  .bpm-sweep-card { min-height: 30rem; }
  .bpm-trajectory-card { min-height: 24rem; }
}

@media (max-width: 560px) {
  .bpm-workbench { padding: var(--iw-space-2); }
  .bpm-sweep-fields, .bpm-advanced-fields { grid-template-columns: 1fr; }
  .bpm-advanced-fields .iw-field:last-child { grid-column: auto; }
  .bpm-plot-header { align-items: flex-start; flex-direction: column; gap: .15rem; }
  .bpm-sweep-card { min-height: 27rem; }
  .bpm-trajectory-card { min-height: 22rem; }
}
