@import url("https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap");

/* ============================================================================
   tipografia.css - Homologacion tipografica de todo el modulo Productividad.
   Se carga DESPUES de AdminLTE/Bootstrap/blue.css para unificar la fuente en el
   panel, el kiosco y el login. Carga Manrope como fuente principal y conserva
   un stack de sistema moderno como respaldo, además de suavizado y
   numeros tabulares para que las cifras de KPIs y reportes queden alineadas.
   ========================================================================== */

:root {
  --font-sans: "Manrope", "Segoe UI Variable", "Segoe UI", -apple-system,
               BlinkMacSystemFont, Roboto, "Helvetica Neue", Arial, system-ui,
               sans-serif;
}

/* Familia unificada. El !important es intencional: sobrescribe de forma fiable
   la 'Source Sans Pro' de AdminLTE y la de Bootstrap sin perseguir cada selector. */
html, body,
.wrapper, .content-wrapper, .main-header, .main-footer, .navbar,
.sidebar, .sidebar-menu, .treeview-menu, .user-panel,
.box, .box-title, .admin-title, .dashboard-page,
h1, h2, h3, h4, h5, h6, p, span, a, li, label, small, strong, b,
.btn, .form-control, input, select, textarea, button,
.label, .dropdown-menu,
.dataTables_wrapper, table.dataTable, .report-table, .table {
  font-family: var(--font-sans) !important;
}

/* IMPORTANTE: la regla de arriba NO debe pisar las fuentes de iconos. Font
   Awesome se aplica sobre el propio elemento (p.ej. AdminLTE pone
   font-family:fontAwesome en .sidebar-toggle, y los <span class="fa"> usan la
   fuente del icono). Se re-fuerza aqui la familia de iconos (mayor especificidad
   por clase que los selectores de elemento a/span, ademas de !important). */
.fa, .fas, .far, .fal, .fab,
[class^="fa-"], [class*=" fa-"],
.sidebar-toggle {
  font-family: "FontAwesome" !important;
}
.glyphicon {
  font-family: "Glyphicons Halflings" !important;
}

/* Suavizado de fuente y mejor renderizado del texto. */
html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  letter-spacing: .005em;
}

/* Titulos: mismo criterio de peso/tracking en todo el modulo. */
h1, h2, h3, h4, h5, h6,
.dashboard-title, .admin-title, .box-title, .login-title, .assignment-title {
  letter-spacing: -.01em;
}
h1, .dashboard-title { font-weight: 800; }
h2, h3, h4, .admin-section-title { font-weight: 700; }

/* Numeros tabulares: alinea cifras en KPIs, tarjetas y tablas de reporte. */
.kpi-value, .monta-total, .dashboard-badge, .kpi-sub,
.report-table td, .report-table th,
table.dataTable td, table.dataTable th,
.dataTables_info, .paginate_button {
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum" 1;
}

/* Legibilidad de parrafos y celdas. */
p { line-height: 1.55; }
.report-table td, table.dataTable td { line-height: 1.45; }
