/* PFI Build 056 — readability floor and spacing normalization */
html, body, button, input, select, textarea, table {
  font-family: "Segoe UI", Arial, sans-serif !important;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Elements detected below 14px are promoted by pfi-readability.js. */
[data-pfi-readable-min14="true"] {
  font-size: 14px !important;
  line-height: 1.42 !important;
  letter-spacing: normal !important;
}

/* Give promoted copy enough breathing room so the larger type never crowds adjacent UI. */
p[data-pfi-readable-min14="true"],
.note[data-pfi-readable-min14="true"],
.mini[data-pfi-readable-min14="true"],
.form-guidance[data-pfi-readable-min14="true"] {
  margin-top: 6px !important;
  margin-bottom: 6px !important;
}
label[data-pfi-readable-min14="true"] {
  margin-bottom: 5px !important;
}
button[data-pfi-readable-min14="true"],
input[data-pfi-readable-min14="true"],
select[data-pfi-readable-min14="true"],
textarea[data-pfi-readable-min14="true"] {
  min-height: 38px !important;
  padding-top: 7px !important;
  padding-bottom: 7px !important;
}
th[data-pfi-readable-min14="true"],
td[data-pfi-readable-min14="true"] {
  padding-top: 9px !important;
  padding-bottom: 9px !important;
}

/* Frequently compact PFI surfaces need slightly more separation after the 14px floor. */
.journeyStep,
.pfi093Metric,
.pfi102FixedTextRow,
.pfi103SubscriptionRow,
.pfi050DebtCard,
.pfiImportRepoCard,
.pfi053CashStage {
  row-gap: 8px;
}

/* Theme control is ordinary readable UI, not microcopy. */
.pfiThemeToggle { font-size:14px !important; min-height:40px !important; padding:8px 12px !important; }

/* No bold text anywhere in PFI (owner request). The :is(#…) part gives this rule ID-level
   weight so it overrides older bold rules; headings stay distinguishable by size. */
html body :is(#pfiNb1#pfiNb2#pfiNb3, *), html body :is(#pfiNb1#pfiNb2#pfiNb3, *)::before, html body :is(#pfiNb1#pfiNb2#pfiNb3, *)::after{font-weight:400!important}
