/**
 * Normal app text is 16px at every breakpoint (Angus, 16 September 2026).
 *
 * This contract covers page/plugin styles and legacy inline sizes. Keep the
 * original scale tokens for headings and icons; changing --font-size-sm would
 * also resize headings that use it. Rich document/editor content keeps its own
 * author-selected typography. These exceptions are boundaries, including their
 * descendants, so a span inside a heading or document is not resized either.
 */

/* stylelint-disable selector-not-notation -- Exclude whole heading/document subtrees, not just their root elements. */

:is(.site-header, .site-main, .site-footer, .global-footer, .hrc-careers, .auth-page, #login-page,
  .modal, .select2-container, .flatpickr-calendar, .ui-datepicker,
  .tooltip, .popover, #toast-container, .swal2-container),
:is(.site-header, .site-main, .site-footer, .global-footer, .hrc-careers, .auth-page, #login-page,
  .modal, .select2-container, .flatpickr-calendar, .ui-datepicker,
  .tooltip, .popover, #toast-container, .swal2-container)
  :not(:where(
    h1, h2, h3, h4, h5, h6, [role="heading"],
    .h1, .h2, .h3, .h4, .h5, .h6,
    .title-card, .title-card-document, .v-title, .hrc-page-title,
    .v-card__title, .v-card__title--lg, .v-card__title--sm,
    .v-card-title, .v-card-title-lg, .v-card-title-sm,
    .v-section-title, .section-title, .conditional-title,
    .modal-title, .modal-title-lg, .page-title, .entry-title,
    .task__title, .create-title, .edit-title, .select-title,
    .v-table-title, .v-table-empty-title, .employee-detail-title,
    .contractor-jobs-title, .interest-title, .interested-card__title,
    .auth-form-title, .logged-out-title,
    .stat > strong, .stat-value, .counter-value, .search-tab > .count,
    .whs-stat-value, .hrc-stat-number, .hrc-lms-stat > strong,
    .hrc-playbook__stats strong, .hrc-careers-stat strong,
    svg, math, i, .fa, .fas, .far, .fal, .fab, .fad,
    .fa-solid, .fa-regular, .fa-light, .fa-brands, .fa-duotone,
    .material-icons, .dashicons, .glyphicon,
    .hrc-rec-empty-icon, .hrc-rec-channel-icon, .hrc-rec-button.icon,
    .um-modal-close, .btn-close, .modal-close, .preview-close-btn,
    .select2-selection__arrow, .select2-selection__clear,
    .select2-selection__choice__remove,
    input[type="checkbox"], input[type="radio"],
    .ProseMirror, [contenteditable="true"], .mce-content-body,
    .wp-editor-area, .tox-edit-area, .document-pdf-preview,
    .document-content, .template-content .entry-content,
    #preview-document-modal .entry-content,
    [data-hrc-preserve-text-size]
  )):not(:where(
    h1, h2, h3, h4, h5, h6, [role="heading"],
    .h1, .h2, .h3, .h4, .h5, .h6,
    .title-card, .title-card-document, .v-title, .hrc-page-title,
    .v-card__title, .v-card__title--lg, .v-card__title--sm,
    .v-card-title, .v-card-title-lg, .v-card-title-sm,
    .v-section-title, .section-title, .conditional-title,
    .modal-title, .modal-title-lg, .page-title, .entry-title,
    .task__title, .create-title, .edit-title, .select-title,
    .v-table-title, .v-table-empty-title, .employee-detail-title,
    .contractor-jobs-title, .interest-title, .interested-card__title,
    .auth-form-title, .logged-out-title,
    .stat > strong, .stat-value, .counter-value, .search-tab > .count,
    .whs-stat-value, .hrc-stat-number, .hrc-lms-stat > strong,
    .hrc-playbook__stats strong, .hrc-careers-stat strong,
    svg, math, i, .fa, .fas, .far, .fal, .fab, .fad,
    .fa-solid, .fa-regular, .fa-light, .fa-brands, .fa-duotone,
    .material-icons, .dashicons, .glyphicon,
    .hrc-rec-empty-icon, .hrc-rec-channel-icon, .hrc-rec-button.icon,
    .um-modal-close, .btn-close, .modal-close, .preview-close-btn,
    .select2-selection__arrow, .select2-selection__clear,
    .select2-selection__choice__remove,
    input[type="checkbox"], input[type="radio"],
    .ProseMirror, [contenteditable="true"], .mce-content-body,
    .wp-editor-area, .tox-edit-area, .document-pdf-preview,
    .document-content, .template-content .entry-content,
    #preview-document-modal .entry-content,
    [data-hrc-preserve-text-size]
  ) *) {
  font-size: var(--font-size-body, 1rem) !important;
}

/* Placeholder styles can otherwise retain a separate legacy font size. */
:is(.site-header, .site-main, .hrc-careers, .auth-page, #login-page, .modal)
  :is(input, textarea)::placeholder {
  font-size: inherit;
}

/* Let the dashboard's date filters wrap within their existing compact column. */
.hrc-dashboard-calendar .v-content-controls {
  min-width: 0;
  max-width: 100%;
  flex-shrink: 1;
}
