/* RFM MedTech v37.3 — Tipografia unificada 16–20 px */
html{font-size:16px}
body{font-family:var(--rfm-font-family)!important;font-size:var(--rfm-text-sm)!important;line-height:var(--rfm-line-height);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
button,input,select,textarea,table{font-family:inherit!important;font-size:var(--rfm-text-sm)!important;line-height:1.45}

/* Texto de interface: nunca menor que 16px. */
.subtitle,.status-pill,.privacy,.field label,.k-label,.k-sub,.section-title span,.card-note,
.legend-item,.qitem span,.report-status,.report-meta,.report-chip,.mini-link,.table-meta,.footer,
.side-brand span,.side-group-toggle,.side-item,.module-header p,.module-badge,.pro-system-chip,
.pro-data-card span,.pro-data-card small,.pro-health-card small,.pro-version-badge,.auth-intro,
.auth-foot,.auth-field label,.input-help,.module-note,.base-choice small,.base-identity-card .meta small,
.rfm-v35-modal-head p,.rfm-v35-check,.rfm-v35-summary span,.rfm-v36-perm-note,
.rfm-v371-cme-head small,.rfm-v371-program-title p,.status-badge,small{
  font-size:var(--rfm-text-sm)!important;
  line-height:1.5!important;
}

/* Controles e conteúdo operacional. */
.btn,.page-btn,.multi-button,.multi-option,.global-search-result,.module-table,.data-table,
.call-card,.workspace-card,.module-card,.form-field input,.form-field select,.form-field textarea,
.field input,.field select,.rfm-v35-modal-body,.rfm-v36-base-plan,.rfm-v371-cons-row{
  font-size:var(--rfm-text-sm)!important;
}

/* Hierarquia tipográfica compacta e consistente. */
h1,.brand h1,.module-header h2,.auth-card h2,.rfm-v35-modal-head h3{font-size:var(--rfm-text-lg)!important;line-height:1.3!important;letter-spacing:-.01em}
h2,h3,h4,.section-title,.report-head h3,.card h3,.pro-data-card b,.k-value,.qitem strong{font-size:var(--rfm-text-md)!important;line-height:1.35!important}
.side-brand strong,.base-identity-card .meta b,.base-choice b,.rfm-v371-program-card b{font-size:var(--rfm-text-md)!important}

/* Alvos de clique e leitura confortável. */
.btn,.page-btn,.multi-button,.field input,.field select,.form-field input,.form-field select{
  min-height:var(--rfm-control-height)!important;
}
.btn{padding:var(--rfm-space-2) var(--rfm-space-3)!important;border-radius:var(--rfm-radius-md)!important}
input,select,textarea{padding:var(--rfm-space-2)!important}
textarea{min-height:96px}

/* Ritmo visual em proporção áurea. */
.panel,.module-card,.workspace-card,.rfm-v35-modal{border-radius:var(--rfm-radius-lg)!important}
.module-header,.section-title{margin-bottom:var(--rfm-space-2)!important}
.module-card,.report-panel,.card{padding:var(--rfm-space-3)!important}
.form-grid,.module-actions,.report-actions{gap:var(--rfm-space-2)!important}

/* Tabelas: legíveis e roláveis, sem reduzir tipografia. */
.module-table th,.module-table td,.data-table th,.data-table td,.report-table th,.report-table td{
  font-size:var(--rfm-text-sm)!important;
  line-height:1.45!important;
  padding:var(--rfm-space-2)!important;
}

/* Acessibilidade de foco. */
:focus-visible{outline:3px solid rgba(84,167,255,.72)!important;outline-offset:2px!important}

/* Normalização final: nenhum texto operacional abaixo de 16px. */
body :where(p,span,label,a,li,td,th,small){font-size:var(--rfm-text-sm)!important}
body :where(b,strong){font-size:inherit}
.workspace-number,.cmms-kpi strong,.auth-logo,.logo,.rfm-v35-provider-mark{font-size:var(--rfm-text-lg)!important}
.workspace-card h3,.plugin-card h3,.cmms-card h3,.compliance-row b,.rfm-v36-perm-row b,.rfm-v36-plan-nav-base b{font-size:var(--rfm-text-md)!important}
.cmms-model{font-size:var(--rfm-text-sm)!important;line-height:1.5!important}
