/* Keep the text readability floor; premium modules own their heading sizes. */
html,
body,
button,
input,
select,
textarea {
  font-family: "Raleway", "Segoe UI", Arial, sans-serif !important;
}

body.app-shell {
  font-size: 12px;
}

body.app-shell :where(
  p,
  a,
  button,
  input,
  select,
  textarea,
  label,
  summary,
  li,
  td,
  th,
  dt,
  dd,
  time,
  small,
  em
) {
  font-size: max(12px, 1em) !important;
}

body.app-shell:not(.premium-tech-dashboard) :where(h1, h2, h3, h4, h5, h6) {
  font-size: max(16px, 1em) !important;
  line-height: 1.25;
}

/* Text-bearing spans need a floor, while icon-only and decorative spans stay compact. */
body.app-shell span:not([data-lucide]):not(.sr-only):not([aria-hidden="true"]):not(:empty) {
  font-size: max(12px, 1em) !important;
}
