/*
 * Visual Standard Phase 3 — Dialog / form control contracts
 * Loaded AFTER app.css so radius and label floors win over legacy surface tokens.
 * No layout redesign; scoped to Mud dialog surfaces and outlined labels.
 */

html body .mud-dialog:not(.legacy-flat),
html body .mud-dialog {
  border-radius: var(--pm-radius-dialog, 8px) !important;
}

html body .mud-dialog-title {
  font-size: var(--pm-font-size-section, 13px);
  font-weight: var(--pm-font-weight-semibold, 600);
  line-height: 1.35;
}

/* Footer Save / Cancel parity — compact 32×12; dialog actions only */
html body .mud-dialog .mud-dialog-actions .mud-button-root,
html body .mud-dialog .mud-dialog-actions .mud-button,
html body .mud-dialog .mud-dialog-actions .mud-button-filled,
html body .mud-dialog .mud-dialog-actions .mud-button-text,
html body .mud-dialog .mud-dialog-actions .mud-button-outlined {
  height: var(--pm-control-height-sm, 32px) !important;
  min-height: var(--pm-control-height-sm, 32px) !important;
  padding: 0 12px !important;
  font-size: var(--pm-font-size-ui, 12px) !important;
  font-weight: var(--pm-font-weight-medium, 500) !important;
  line-height: 1.2;
  letter-spacing: normal;
  text-transform: none !important;
  border-radius: var(--pm-radius-control, 4px) !important;
}

html body .mud-dialog .mud-dialog-actions .mud-button .mud-button-label {
  font-size: var(--pm-font-size-ui, 12px) !important;
  font-weight: var(--pm-font-weight-medium, 500);
}

html body .mud-dialog .mud-dialog-actions .mud-button .mud-button-icon-start {
  font-size: 16px;
  margin-inline-end: 6px;
}

html body .mud-dialog .mud-dialog-actions .mud-button .mud-button-icon-end {
  font-size: 16px;
  margin-inline-start: 6px;
}

/*
 * Floating outlined labels: Mud applies scale(0.75). Pre-scale size so the
 * readable (post-scale) size is ≥12px (--pm-font-size-ui).
 */
html body .mud-input-control > .mud-input-control-input-container > .mud-input-label-inputcontrol.mud-input-label-outlined,
html body .mud-input-control > .mud-input-control-input-container > .mud-input-label-inputcontrol.mud-input-label-outlined.mud-input-label-margin-dense {
  font-size: calc(var(--pm-font-size-ui, 12px) / 0.75) !important;
  line-height: 1.2 !important;
}

/*
 * Compact single-line dialog fields (~36–38px).
 * Cause of 46–48px height: 10px root padding stacked on Mud/pm-primitives
 * inner padding. Keep root padding modest; zero vertical padding on the
 * inner slot so height is not double-counted. Multiline/textarea excluded.
 */
html body .mud-dialog .mud-input.mud-input-outlined:not(textarea):not(.mud-input-textarea),
html body .mud-dialog .mud-input-root.mud-input-outlined:not(.mud-input-textarea),
html body .mud-dialog .mud-input-root-outlined:not(.mud-input-textarea),
html body .mud-dialog .dialog-form-fields .mud-input-root-outlined:not(.mud-input-textarea),
html body .mud-dialog .mud-select .mud-input-root-outlined,
html body .mud-dialog .mud-autocomplete .mud-input-root-outlined,
html body .mud-dialog .mud-numeric-field .mud-input-root-outlined {
  padding-top: 6px !important;
  padding-bottom: 6px !important;
  min-height: 36px;
  box-sizing: border-box;
}

html body .mud-dialog .mud-input.mud-input-outlined:not(textarea):not(.mud-input-textarea) .mud-input-slot,
html body .mud-dialog .mud-input-root-outlined:not(.mud-input-textarea) .mud-input-slot,
html body .mud-dialog .mud-select .mud-input-slot,
html body .mud-dialog .mud-autocomplete .mud-input-slot {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  margin: 0;
  min-height: 0;
  line-height: 1.35;
}

/* Field values: 13px body (Mud defaults inputs to Subtitle1 / 11px) */
html body .mud-dialog .mud-input.mud-input-outlined,
html body .mud-dialog .mud-input.mud-typography-subtitle1,
html body .mud-dialog .mud-input.mud-input-outlined .mud-input-slot,
html body .mud-dialog .mud-input.mud-input-outlined input.mud-input-slot,
html body .mud-dialog .mud-input.mud-input-outlined input.mud-input-root,
html body .mud-dialog .mud-input-slot input:not([type="hidden"]),
html body .mud-dialog .mud-select .mud-input-slot,
html body .mud-dialog .mud-autocomplete .mud-input-slot {
  font-size: var(--pm-font-size-body, 13px) !important;
  line-height: 1.35 !important;
}

html body .mud-dialog .mud-input.mud-input-outlined .mud-input-slot,
html body .mud-dialog .mud-input.mud-input-outlined input.mud-input-slot,
html body .mud-dialog .mud-input-slot input:not([type="hidden"]) {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  height: auto;
  min-height: 0;
}

/* Textareas / multiline keep natural height — do not clamp */
html body .mud-dialog textarea.mud-input-slot,
html body .mud-dialog .mud-input-textarea,
html body .mud-dialog .mud-input-root-outlined.mud-input-textarea {
  padding-top: 8px;
  padding-bottom: 8px;
  min-height: unset;
}

html body .mud-dialog .mud-input-control > .mud-input-control-input-container > .mud-input-label-inputcontrol.mud-input-label-outlined,
html body .mud-dialog .mud-input-control > .mud-input-control-input-container > .mud-input-label-inputcontrol.mud-input-label-outlined.mud-input-label-margin-dense {
  transform: translate(14px, -9px) scale(0.75) !important;
}

html body.mud-application-layout-rtl .mud-dialog .mud-input-control > .mud-input-control-input-container > .mud-input-label-inputcontrol.mud-input-label-outlined,
html body.mud-application-layout-rtl .mud-dialog .mud-input-control > .mud-input-control-input-container > .mud-input-label-inputcontrol.mud-input-label-outlined.mud-input-label-margin-dense {
  transform: translate(-14px, -9px) scale(0.75) !important;
  transform-origin: top right;
}

/* Keep error / helper / required indicators readable without layout shift */
html body .mud-dialog .mud-input-helper-text,
html body .mud-dialog .mud-input-error {
  font-size: var(--pm-font-size-meta, 12px);
  line-height: 1.35;
  margin-top: 4px;
}

html body .mud-dialog .mud-input-required {
  color: var(--mud-palette-error);
}
