/* ==========================================================
   EMTEL Typography v2.2.38
   Reglas canonicas de tipografia, tamanos, pesos y jerarquia.
   ========================================================== */
html { font-size: 16px; }
body {
  font-size: var(--text-base);
  line-height: var(--leading-body);
  font-weight: var(--weight-regular);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

h1, h2, h3, h4, .section-heading h1, .section-heading h2,
.finance-page-heading h2, .teacher-pay-hero h2 {
  font-family: var(--font-display);
  color: var(--color-heading);
  letter-spacing: -.035em;
  line-height: var(--leading-title);
}

h1, .page-title { font-size: var(--text-3xl); font-weight: var(--weight-black); }
h2, .section-heading h2, .finance-page-heading h2, .teacher-pay-hero h2 {
  font-size: var(--text-2xl);
  font-weight: var(--weight-black);
}
h3, .card__head h3, .soft-section-title h3 {
  font-size: var(--text-lg);
  font-weight: var(--weight-bold);
  line-height: 1.25;
}
h4 { font-size: var(--text-base); font-weight: var(--weight-bold); }
p { line-height: var(--leading-body); }

.section-subtitle,
.card p,
.teacher-pay-hero .section-subtitle,
.finance-page-heading .section-subtitle,
.worker-main p,
.config-tile.refined p {
  color: var(--color-muted);
  font-size: var(--text-md);
  line-height: 1.46;
  font-weight: var(--weight-regular);
}

.eyebrow {
  font-size: var(--text-xs);
  font-weight: var(--weight-black);
  letter-spacing: .095em;
  text-transform: uppercase;
  color: var(--color-primary);
}

label, .field span, .finance-form-grid .field span,
.teacher-pay-toolbar.refined-toolbar .field span,
.teacher-payment-dossier .field span,
.teacher-payment-dossier .modern-check span {
  font-size: var(--text-sm);
  font-weight: var(--weight-semibold);
  color: var(--color-heading);
  line-height: 1.22;
}

small, .hint, .muted-text, .teacher-pay-table td small,
.registration-read-table td small, .mini-row small {
  font-size: var(--text-xs);
  color: var(--color-muted);
  font-weight: var(--weight-medium);
  line-height: 1.34;
}

strong { font-weight: var(--weight-semibold); }
.card strong, td strong, .mini-row strong { font-weight: var(--weight-semibold); }
.kpi-value, .teacher-insight-card strong, .finance-summary-card strong { font-weight: var(--weight-black); }

.badge, .status-pill, .chip, .program-chip, .group-pill {
  font-size: var(--text-xs);
  font-weight: var(--weight-bold);
  letter-spacing: .005em;
}
