/* Separate preparation, configuration and saved runs without rebuilding forms. */
.training-section-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  border-bottom: 1px solid var(--line);
  margin-bottom: 26px;
}
.training-section-nav [role="tab"] {
  min-height: 46px;
  padding: 12px 22px;
  border: 0;
  border-bottom: 2px solid transparent;
  background: transparent;
  color: var(--muted);
  font: 500 13px/1.5 var(--font-sans);
  cursor: pointer;
}
.training-section-nav [role="tab"]:hover { background: var(--field); color: var(--ink); }
.training-section-nav [aria-selected="true"] { border-bottom-color: var(--accent); color: var(--ink); }
#training-pane-datasets { min-width: 0; }
#training-pane-datasets .dataset-download-actions { flex-wrap: wrap; }
.studio-training-plan > .panel-heading { padding: 24px; align-items: flex-start; }
.studio-training-plan > .panel-heading h2 { font-size: 21px; font-weight: 400; }
.studio-training-plan > .panel-heading p { max-width: 640px; line-height: 1.6; }
.studio-training-plan .local-label { white-space: nowrap; }
.training-plan-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 300px;
  gap: 0;
  padding: 0;
  align-items: stretch;
}
.training-plan-fields { min-width: 0; }
.training-plan-step { padding: 26px; min-width: 0; }
.training-plan-step + .training-plan-step { border-top: 1px solid var(--line); }
.training-step-heading { display: flex; align-items: flex-start; gap: 14px; margin-bottom: 24px; }
.training-step-heading > span {
  flex: 0 0 30px;
  border-bottom: 1px solid var(--accent);
  padding: 5px 0;
  color: var(--accent);
  font: 400 12px/1.2 var(--font-mono);
}
.training-step-heading h3 { font-size: 16px; font-weight: 500; margin: 0 0 7px; }
.training-step-heading p { font-size: 12px; color: var(--muted); line-height: 1.7; margin: 0; }
.training-inputs-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.training-plan-step > .training-field { margin-bottom: 24px; }
.training-field { min-width: 0; }
.training-plan-step label { display: block; margin-bottom: 9px; }
.training-plan-step :is(input, select) { width: 100%; min-width: 0; }
.studio-training-plan .field-hint { line-height: 1.7; margin-top: 10px; overflow-wrap: anywhere; }
.training-model-actions { display: flex; flex-wrap: wrap; gap: 6px 18px; margin-top: 12px; }
.studio-training-plan .text-button { font-size: 12px; min-height: 36px; }
.training-layer-details,
.training-behavior { margin-top: 16px; font-size: 12px; }
.studio-training-plan summary { color: var(--accent); cursor: pointer; line-height: 1.6; padding-block: 8px; }
.training-plan-step .training-settings { gap: 16px; margin-top: 0; margin-bottom: 22px; }
.training-plan-review { min-width: 0; padding: 26px 22px; background: var(--surface-raised); border-left: 1px solid var(--line); }
.training-plan-review .eyebrow { margin: 0 0 12px; }
.training-plan-review > h3 { font-size: 18px; font-weight: 400; line-height: 1.4; margin: 0 0 16px; }
.training-plan-review > .button,
.training-plan-review #training-start { width: 100%; margin-top: 16px; white-space: normal; }
.training-plan-review > #training-readiness { margin: 0 0 18px; }
.training-plan-review #training-error { margin-top: 18px; overflow-wrap: anywhere; }
.training-plan-review .training-preview {
  margin-top: 24px;
  border: 0;
  border-top: 1px solid var(--line);
  border-radius: 0;
  padding: 22px 0 0;
  background: transparent;
}
.training-plan-review .training-preview h3 { margin: 0 0 12px; font-size: 15px; line-height: 1.5; }
.training-plan-review .dataset-counts { grid-template-columns: minmax(0, 1fr); gap: 0; margin: 20px 0; border-block: 1px solid var(--line); }
.training-plan-review .dataset-counts > div { display: flex; align-items: center; gap: 15px; background: transparent; padding: 12px 0; }
.training-plan-review .dataset-counts > div + div { border-top: 1px solid var(--line); }
.training-plan-review .dataset-counts strong { flex: 0 0 65px; color: var(--ink); font: 400 23px/1.3 var(--font-mono); overflow-wrap: anywhere; }
.training-plan-review .dataset-counts span { font-size: 11px; line-height: 1.6; }
.training-plan-review .training-preview-modules { padding-top: 0; border-top: 0; }
.training-plan-review .dataset-warning { font-size: 12px; line-height: 1.7; }

@media (max-width: 1280px) {
  .training-plan-layout { grid-template-columns: minmax(0, 1fr) 270px; }
  .training-inputs-grid { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .training-plan-step { padding: 22px; }
}
@media (max-width: 1000px) {
  .training-plan-layout { grid-template-columns: minmax(0, 1fr); }
  .training-plan-review { border-left: 0; border-top: 1px solid var(--line); }
  .training-inputs-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .training-plan-review .dataset-counts { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .training-plan-review .dataset-counts > div { flex-direction: column; align-items: flex-start; padding: 16px; }
  .training-plan-review .dataset-counts > div + div { border-top: 0; border-left: 1px solid var(--line); }
  .training-plan-review .dataset-counts strong { flex-basis: auto; }
  .training-plan-review > .button,
  .training-plan-review #training-start { width: auto; min-width: 220px; }
}
@media (max-width: 600px) {
  .training-section-nav [role="tab"] { flex: 1 0 50%; padding: 12px 8px; }
  .studio-training-plan > .panel-heading { flex-wrap: wrap; gap: 12px; padding: 20px 16px; }
  .training-plan-step,
  .training-plan-review { padding: 20px 16px; }
  .training-inputs-grid { grid-template-columns: minmax(0, 1fr); }
  .training-plan-step .training-settings { grid-template-columns: minmax(0, 1fr); }
  .training-step-heading { gap: 10px; }
  .training-plan-review > .button,
  .training-plan-review #training-start { width: 100%; min-width: 0; }
  .training-plan-review .dataset-counts > div { padding: 12px 8px; }
}
@media (pointer: coarse) {
  .studio-training-plan :is(summary, .text-button) { min-height: 44px; }
}
