/* Load after component styles in every shell. Explicit content rules prevent
   values from inheriting label weight while preserving semantic emphasis. */
:root { --pm-font-regular:400; --pm-font-label:600; --pm-control-height:44px; }
body { font-weight:var(--pm-font-regular); }
body :is(input,select,textarea,option),
body :is(p,dd,td,time,small,.form-text,.text-muted,.form-control,.form-select),
body :is(.pm-body,.pm-description,.pm-helper,.pm-value) { font-weight:var(--pm-font-regular)!important; }
body :is(input,textarea)::placeholder { font-weight:var(--pm-font-regular)!important; }
body :is(label,legend,th,dt,optgroup) { font-weight:var(--pm-font-label); }
/* Ordinary content with non-semantic markup in public, business and admin pages. */
body :is(.dashboard-brand-caption,.dashboard-nav-disabled-reason,.trust-row,
 .pricing-card-qualifier,.pricing-card-foot,.pricing-card-value span,
 .profile-contact-links a,.profile-summary > span,.profile-summary > a,
 .public-branch-profile .branch-detail-row strong,.public-branch-profile .branch-detail-row a,
 .reports-loading,.search-loading-indicator,.rating-empty,
 .ua-role-meta,.ua-account-meta,.customer-request-meta,.developer-list-meta span,
 .privacy-notice-meta span,.gc-card-meta,.hiring-hero-note,.hiring-summary-help,
 .crm-hero-note,.finance-heading-note,.content-section-note,.content-result-count,
 .profile-section-note,.profile-cover-subtitle,.profile-gallery-card-caption,.profile-gallery-filter-note,
 .fitness-coach-meta > span,.coach-package-meta span,.coach-kpi-meta,
 .fitness-account-request-meta span,.fitness-account-inline-empty > span,
 .fitness-profile-empty-state strong,.privacy-empty-state strong,
 .marketing-summary-copy,.marketing-hero-visual-caption,.catalog-results-note,
 .branch-copy-note,.pm-dashboard-note,.analytics-section-caption,.pm-sync-summary,
 .booking-label-muted,.booking-rules-empty > span,.promotion-history-summary span,
 .public-business-profile .profile-summary > :is(span,a)) { font-weight:var(--pm-font-regular)!important; }
/* Explicit emphasis escape hatch for meaningful content hierarchy. */
body .pm-emphasis { font-weight:600!important; }
/* A record name/value is table content, even when older views use <strong>. */
body td :is(strong,b):not(.pm-emphasis):not(.badge):not(.status):not(.status-chip) {
    font-weight:var(--pm-font-regular)!important;
}
/* Keep essential status and action emphasis when those roles use small/p/td. */
body :is(.badge,.status-chip,.dn-badge,.pm-development-status,.btn,.pm-emphasis) {
    font-weight:600!important;
}
body :is(.rating,.pricing-v2-summary-benefits > div,.pricing-v2-summary > strong span,
 .fitness-profile-report-note span,.profile-assistant-helper-note > span,
 .advertising-summary-note > span,.qr-analytics-note > span,
 .fitness-empty-suggestions > span,.profile-upload-preview.is-empty span),
body td a:not(.btn):not([role=button]):not(.pm-emphasis) {
    font-weight:var(--pm-font-regular)!important;
}
