/* ==========================================================
   EMTEL Iconography v2.2.38
   Reglas de iconos SVG locales y compatibilidad con bibliotecas futuras.
   ========================================================== */
[data-icon],
.icon {
  display: inline-grid;
  place-items: center;
  width: var(--icon-size-md);
  height: var(--icon-size-md);
  min-width: var(--icon-size-md);
  min-height: var(--icon-size-md);
  max-width: var(--icon-size-md);
  max-height: var(--icon-size-md);
  flex: 0 0 var(--icon-size-md);
  color: currentColor;
  line-height: 1;
  vertical-align: -.16em;
}
[data-icon] > .icon-svg,
.icon > .icon-svg,
.icon-svg,
svg.icon-svg {
  display: block;
  width: var(--icon-size-md);
  height: var(--icon-size-md);
  max-width: var(--icon-size-md);
  max-height: var(--icon-size-md);
  stroke-width: 2.15;
}
.icon-btn [data-icon],
.icon-btn .icon-svg,
.btn [data-icon],
.btn .icon-svg {
  width: var(--icon-size-sm);
  height: var(--icon-size-sm);
  min-width: var(--icon-size-sm);
  min-height: var(--icon-size-sm);
  max-width: var(--icon-size-sm);
  max-height: var(--icon-size-sm);
  flex-basis: var(--icon-size-sm);
}
.subtab [data-icon],
.teacher-pay-page-tabs [data-icon],
.student-modal-tabs [data-icon] {
  width: var(--icon-size-md);
  height: var(--icon-size-md);
  min-width: var(--icon-size-md);
  min-height: var(--icon-size-md);
}
.nav-tab [data-icon],
.nav-tab .icon-svg {
  width: var(--icon-size-lg);
  height: var(--icon-size-lg);
  min-width: var(--icon-size-lg);
  min-height: var(--icon-size-lg);
}
.icon-stack,
.module-icon,
.finance-icon {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 14px;
  background: var(--color-primary-soft);
  color: var(--color-primary-strong);
}
