/* Spectrum and Filter preview tabs: view layout only (generic spc-* controls live in charts.css).
   Mirrors the Avalonia layout in Desktop/SpectrumView.cs and Desktop/FilterPreviewView.cs. */
:root {
  --sp-preview-section-border: #A5801C;  /* FilterPreviewView Section border, Color.FromRgb(165,128,28) */
  --sp-preview-estimate: #FFC400;        /* throttle slider foreground (Estimated curve colour) */
}
:root[data-theme="light"] {
  --sp-preview-section-border: #A5801C;
  --sp-preview-estimate: #FFC400;
}

/* ---- Spectrum: DockPanel margin 12,10,12,8; bar; Grid 2*:1*, three equal rows, plot margin 2 ---- */
.spc-spectrum { display: flex; flex-direction: column; height: 100%; min-height: 0; box-sizing: border-box; padding: 10px 12px 8px 12px; }
.spc-spectrum > .spc-bar { flex: none; display: flex; flex-wrap: wrap; align-items: center; row-gap: 4px; }
.spc-spectrum-grid { flex: 1 1 auto; min-height: 0; display: grid; grid-template-columns: 2fr 1fr; grid-template-rows: repeat(3, minmax(0, 1fr)); }
.spc-spectrum-grid > .spc-cell { position: relative; min-width: 0; min-height: 0; margin: 2px; }
.spc-spectrum-grid > .spc-cell > .spc-chart { position: absolute; inset: 0; }

/* ---- Filter preview: Grid margin 12; columns 265 px | *; sidebar margin-right 14 ---- */
.spc-preview { display: grid; grid-template-columns: 265px minmax(0, 1fr); height: 100%; min-height: 0; box-sizing: border-box; padding: 12px; }
.spc-preview-side { display: flex; flex-direction: column; min-height: 0; margin-right: 14px; }
.spc-preview-side > .spc-button { flex: none; }
.spc-preview-controls { flex: 1 1 auto; min-height: 0; overflow-y: auto; overflow-x: hidden; }
.spc-preview-section { padding: 9px; margin-bottom: 8px; border-radius: 5px; border: 1px solid var(--sp-preview-section-border); background: var(--sp-surface-alt); }
.spc-stage { display: flex; flex-direction: column; align-items: flex-start; margin: 4px 0 6px 0; }
.spc-stage-row { display: flex; align-items: center; margin-top: 3px; }
.spc-stage-row .spc-num { width: 45px; min-width: 45px; box-sizing: border-box; padding: 3px 4px; margin: 0 4px; font-size: calc(13px * var(--sp-chart-text-scale, 1.2)); }
.spc-slider-estimate { accent-color: var(--sp-preview-estimate); --spc-slider-fill: var(--sp-preview-estimate); }
.spc-preview-throttle { margin-top: 8px; }
/* Avalonia centres the fixed-width (165) slider in the stretched StackPanel; Slider/CheckBox/RadioButton MinHeight 32. */
.spc-preview-throttle .spc-slider { display: block; margin: 8px auto; }
.spc-stage > .spc-check { min-height: 32px; }
.spc-preview-head .spc-radio { min-height: 32px; }
.spc-preview-legend { margin-left: 20px; white-space: pre; }

.spc-preview-main { display: grid; grid-template-rows: auto repeat(3, minmax(0, 1fr)) auto; min-width: 0; min-height: 0; }
.spc-preview-main > .spc-preview-head .spc-bar { display: flex; align-items: center; }
.spc-preview-cards { display: grid; grid-template-columns: 1fr 1fr; margin: 8px 0 4px 0; }
.spc-preview-cards > .spc-card { padding: 6px 9px; margin-right: 6px; border-radius: 5px; border: 1px solid var(--sp-border); background: var(--sp-surface-alt); }
.spc-preview-row { display: flex; min-height: 0; margin: 3px 0; }
.spc-preview-row > .spc-cell { position: relative; flex: 1 1 auto; min-width: 0; min-height: 0; }
.spc-preview-row > .spc-cell > .spc-chart { position: absolute; inset: 0; }
.spc-preview-metrics { flex: none; width: 165px; box-sizing: border-box; padding: 8px; margin: 4px 0 4px 5px; border-radius: 5px; border: 1px solid var(--sp-border); background: var(--sp-surface-alt); display: flex; align-items: center; }
.spc-preview-note { margin-top: 2px; }
