/* Keep each model's full system visible, with controls above and values below. */
body.simulator-layout-page { margin:0; padding:7px 12px; background:#fff; }
.simulator-layout-page > main { padding:0 !important; margin:0 auto !important; max-width:1500px !important; }
.simulator-layout-page .sim-enhanced { padding:0; margin:0 auto !important; width:100%; max-width:1500px; }
.sim-enhanced .cl-intro,.sim-enhanced .four-head,.sim-app-header { margin:0 0 8px; }
.sim-enhanced .cl-intro h2,.sim-enhanced .four-head h1,.sim-app-header h2 { margin:0 0 3px; font-size:17px; }
.sim-enhanced .cl-intro p,.sim-enhanced .four-head p,.sim-app-header p { margin:0; font-size:11px; color:#627084; }
.sim-enhanced .four-eyebrow,.sim-enhanced .four-version { display:none; }
.sim-workspace { display:grid; grid-template-rows:auto minmax(0,1fr); gap:9px; height:var(--sim-workspace-height,680px); }
.sim-workspace * { box-sizing:border-box; }
.sim-controls { min-width:0; min-height:0; border:1px solid #dce3ea; border-radius:7px; background:#f8fafc; }
.sim-control-toolbar { display:flex; align-items:center; gap:12px; padding:5px 9px; border-bottom:1px solid #dce3ea; }
.sim-enhanced .sim-controls-title { margin:0; padding:0; font-size:12px; }
.sim-controls-scroll { min-height:0; padding:7px 10px; }
.sim-controls-scroll:focus-visible { outline:2px solid #7194bc; outline-offset:-2px; }
.sim-enhanced .sim-drawer { border:0; padding:0; background:transparent; }
.sim-drawer > summary { display:none; }
.sim-enhanced .cl-inputcontent,.sim-enhanced .macro-controls,.sim-enhanced .four-control-content {
  display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:7px 16px;
  padding:0; border:0; background:transparent;
}
.sim-enhanced .cl-fieldgroup,.sim-enhanced .cl-fieldgrid,
.sim-enhanced .macro-control-group,.sim-enhanced .macro-field-grid,
.sim-enhanced .four-group,.sim-enhanced .four-inputgrid { display:contents; }
.sim-controls-scroll h3 { display:none; }
.sim-enhanced .cl-field,.sim-enhanced .macro-input,.sim-enhanced .four-field { margin:0; min-width:0; }
.sim-enhanced .cl-field label,.sim-enhanced .macro-input label,.sim-enhanced .four-field label {
  font-size:10px; line-height:1.3; margin:0 0 2px; min-height:13px;
}
.sim-enhanced .cl-fieldrow,.sim-enhanced .macro-input-row,.sim-enhanced .four-inputrow {
  grid-template-columns:minmax(0,1fr) 58px; gap:7px;
}
.sim-controls-scroll input[type=number] { height:26px; padding:2px 5px; font-size:11px; }
.sim-enhanced .sim-actions { display:flex; justify-content:flex-end; gap:6px; padding:0; margin:0 0 0 auto; border:0; }
.sim-enhanced .sim-actions button { padding:4px 8px; font-size:10px; min-height:26px; }
.sim-presets { position:relative; }
.sim-presets > summary { cursor:pointer; font-size:11px; font-weight:650; padding:3px 0; }
.sim-preset-menu {
  position:absolute; top:100%; left:0; z-index:5; width:280px; max-height:280px; overflow:auto;
  padding:8px; border:1px solid #ccd5df; border-radius:6px; background:#fff; box-shadow:0 5px 16px #18273a24;
}
.sim-enhanced .sim-presets .cl-presetbar,.sim-enhanced .sim-presets .four-presetbar {
  border:0; padding:0; background:transparent;
}
.sim-presets .cl-stripheading,.sim-presets .four-labelbar { display:none; }
.sim-presets button { width:100%; text-align:left; font-size:11px !important; }
.sim-analysis { min-width:0; min-height:0; display:grid; grid-template-rows:minmax(0,1fr) auto auto auto; gap:5px; }
.sim-chart-stage { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:repeat(2,minmax(0,1fr)); gap:7px; min-width:0; min-height:0; }
.sim-enhanced[data-graph-count="3"] .sim-chart-stage { grid-template-columns:repeat(3,minmax(0,1fr)); grid-template-rows:minmax(0,1fr); }
.sim-enhanced[data-graph-count="5"] .sim-chart-stage { grid-template-columns:repeat(3,minmax(0,1fr)); }
.sim-enhanced .sim-chart-panel { display:flex; flex-direction:column; width:100%; height:100%; min-height:0; min-width:0; margin:0; padding:5px 4px 3px; border-radius:6px; }
.sim-enhanced .sim-chart-panel h3 { flex:0 0 auto; font-size:12px; margin:0 0 2px; text-align:center; }
.sim-enhanced .sim-chart-panel .cl-subtitle,.sim-enhanced .sim-chart-panel .sub,
.sim-enhanced .sim-chart-panel .cl-panelnote,.sim-enhanced .sim-chart-panel .foot { display:none; }
.sim-chart-panel [data-chart] { flex:1; min-height:0; min-width:0; }
.sim-enhanced .sim-chart-panel svg { display:block; width:100%; height:100%; overflow:visible; }
.sim-enhanced .sim-chart-panel svg text { font-size:18px !important; }
.sim-enhanced .sim-chart-panel .sim-numeric-tick { display:none; }
.sim-enhanced .cl-legendrow,.sim-enhanced .four-charthead,.sim-enhanced .macro-legend { margin:0; padding:0; }
.sim-enhanced .cl-hint,.sim-enhanced .four-chartnote { display:none; }
.sim-enhanced .cl-legend,.sim-enhanced .four-legend,.sim-enhanced .macro-legend { font-size:10px; }
.sim-enhanced .cl-below,.sim-enhanced .four-strip,.sim-enhanced .macro-tools { margin:0; gap:6px; }
.sim-enhanced .cl-below label,.sim-enhanced .four-strip label,.sim-enhanced .macro-tools label { font-size:10px; }
.sim-enhanced .cl-below button,.sim-enhanced .four-strip button,.sim-enhanced .macro-tools button { font-size:10px; min-height:25px; padding:3px 7px; }
.sim-enhanced .sim-readouts { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:6px; margin:0; }
.sim-enhanced.macro-app .sim-readouts { grid-template-columns:repeat(3,minmax(0,1fr)); }
.sim-enhanced .sim-readouts > div { padding:4px 8px; border:1px solid #dce3ea; border-radius:5px; background:#f8fafc; min-width:0; }
.sim-readouts .cl-metric-label,.sim-readouts .four-metric .k,.sim-stat-label { display:block; font-size:10px !important; line-height:1.3; color:#627084; font-weight:600; }
.sim-readouts .cl-metric-value,.sim-readouts .four-metric .v,.sim-stat-value { font-size:16px !important; line-height:1.25; font-weight:750; font-variant-numeric:tabular-nums; }
.sim-readouts .cl-metric-change,.sim-readouts .four-metric .d,.sim-stat-change { display:inline; margin-left:6px; color:#b1252b; font-size:10px !important; font-variant-numeric:tabular-nums; }
.sim-readouts .cl-metric-body { display:block; }
.sim-readouts .four-metric .u { font-size:10px; }
.sim-details,.sim-reference-details,.sim-enhanced .four-reference { margin:8px 0 0; padding:8px 10px; border:1px solid #dce3ea; border-radius:6px; font-family:system-ui,sans-serif; font-size:11px; }
.sim-details > summary,.sim-reference-details > summary { cursor:pointer; font-weight:650; }
.sim-details .cl-results,.sim-details .macro-equilibrium,.sim-details .four-results { margin:10px 0 0; padding:0; border:0; }
.sim-details .four-transmission { margin-top:10px; }
.sim-reference-details .classical-app { margin:0; }
.sim-reference-details .cl-reference { margin:0; padding-top:0; border:0; }
@media(min-width:1000px) {
  .sim-enhanced .cl-inputcontent,.sim-enhanced .macro-controls,.sim-enhanced .four-control-content {
    grid-template-columns:repeat(5,minmax(0,1fr));
  }
}
@media(max-width:759px) {
  body.simulator-layout-page { padding:6px; }
  .sim-control-toolbar { flex-wrap:wrap; gap:5px 10px; padding:4px 6px; }
  .sim-enhanced .sim-actions button { padding:3px 5px; font-size:9px; }
  .sim-controls-scroll { max-height:170px; overflow:auto; overscroll-behavior:contain; padding:6px; }
  .sim-enhanced .cl-inputcontent,.sim-enhanced .macro-controls,.sim-enhanced .four-control-content {
    grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px 10px;
  }
  .sim-preset-menu { left:-60px; width:260px; }
  .sim-enhanced[data-graph-count="3"] .sim-chart-stage,
  .sim-enhanced[data-graph-count="5"] .sim-chart-stage {
    grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:repeat(2,minmax(0,1fr));
  }
  .sim-enhanced[data-graph-count="5"] .sim-chart-stage { grid-template-rows:repeat(3,minmax(0,1fr)); }
  .sim-enhanced[data-graph-count="3"] .sim-chart-panel:last-child,
  .sim-enhanced[data-graph-count="5"] .sim-chart-panel:last-child { grid-column:1 / -1; }
  .sim-enhanced .sim-chart-panel h3 { font-size:10px; }
  .sim-enhanced .sim-readouts > div { padding:4px; }
  .sim-readouts .cl-metric-label,.sim-readouts .four-metric .k,.sim-stat-label { font-size:9px !important; }
  .sim-readouts .cl-metric-value,.sim-readouts .four-metric .v,.sim-stat-value { font-size:13px !important; }
  .sim-readouts .cl-metric-change,.sim-readouts .four-metric .d,.sim-stat-change { display:block; margin:0; font-size:9px !important; }
}
