/* MyStationHub shared interface typography.
   One authoritative font family for public, customer, and Master Admin.
   Preserve page-specific sizing, weights, spacing, colors, headings, logos,
   material-icon fonts, and button animation/geometry. */
:root {
  --msh-interface-font: ui-sans-serif, -apple-system, BlinkMacSystemFont,
    "Segoe UI Variable", "Segoe UI", Arial, sans-serif;
  --msh-heading-font: Inter, "Segoe UI", Arial, sans-serif;
  --msh-font-size-body: 15px;
  --msh-font-size-nav: 15px;
  --msh-font-size-subnav: 14px;
  --msh-font-size-button: 14px;
  --msh-font-size-label: 14px;
}
/* The public Vista and authenticated Command themes already use a system
   stack for their headings; preserve that existing headline appearance. */
html[data-msh-vista="public"],
html[data-msh-theme="command"] {
  --msh-heading-font: ui-sans-serif, -apple-system, BlinkMacSystemFont,
    "Segoe UI Variable", "Segoe UI", Arial, sans-serif;
}
/* Inherit the same clear system font from the document root, without changing
   any existing element's size or weight. */
html body {
  font-family: var(--msh-interface-font) !important;
}
/* Several legacy page styles explicitly set an Inter family on links, form
   controls and text. Replace only their font-family; never override font-size,
   font-weight, color, letter spacing, borders, width or animation. */
html body :is(
  a, button, input, select, textarea, option, output,
  label, legend, summary, p, li, small, blockquote,
  figcaption, table, th, td, dt, dd
):not(:is(.brand, .wordmark, .msh-unified-brand, .msh-public-brand)) {
  font-family: var(--msh-interface-font) !important;
}
/* Semantic headings and branded wordmarks retain the original heading stack.
   Nested spans inherit that stack; do not individually restyle span elements. */
html body :is(
  h1, h2, h3, h4, h5, h6,
  .brand, .wordmark, .msh-unified-brand, .msh-public-brand,
  .msh-vm-preview-logo, .msh-tour-logo
) {
  font-family: var(--msh-heading-font) !important;
}
