/*
=============================================================
ZENTY EMITE 2.0 — TIPOGRAFÍA INTER
Fase 9 · Refinamiento visual
=============================================================

Este archivo cambia solamente la tipografía y los pesos visuales.
No modifica lógica, API, base de datos, CAF, folios ni XML.
*/

:root {
  --zenty-font-web:
    "Inter",
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    Roboto,
    Helvetica,
    Arial,
    sans-serif;
}

html,
body,
button,
input,
select,
textarea,
table,
.tooltip,
.popover {
  font-family: var(--zenty-font-web) !important;
}

html {
  font-synthesis: none;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body {
  font-weight: 400;
  letter-spacing: -0.008em;
}

/* Marca y navegación */
.sidebar-brand strong,
.app-topbar h1,
.welcome-panel h2,
.panel-card-header h3,
.section-title-row h4,
h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--zenty-font-web) !important;
  font-weight: 600 !important;
  letter-spacing: -0.032em !important;
}

.sidebar-brand strong {
  font-size: 1rem;
}

.sidebar-brand span,
.topbar-user small,
.user-chip small,
.welcome-panel p,
.soft-info-box span {
  font-weight: 400 !important;
}

.sidebar-link {
  font-weight: 500 !important;
  letter-spacing: -0.012em;
}

.sidebar-link.active,
.sidebar-link[aria-current="page"] {
  font-weight: 600 !important;
}

/* Etiquetas pequeñas */
.eyebrow,
.panel-card .eyebrow,
.welcome-panel .eyebrow {
  font-weight: 600 !important;
  letter-spacing: 0.095em !important;
}

/* Formularios */
.admin-form label,
.form-label,
label {
  font-weight: 500 !important;
  letter-spacing: -0.01em;
}

.admin-form input,
.admin-form select,
.admin-form textarea,
.form-control,
.form-select {
  font-weight: 400 !important;
}

.admin-form input::placeholder,
.admin-form textarea::placeholder {
  font-weight: 300 !important;
  color: #87989d;
}

/* Botones más elegantes y menos pesados */
.btn,
button {
  font-weight: 600 !important;
  letter-spacing: -0.014em;
}

.btn-primary,
.btn-outline-primary,
.btn-outline-secondary,
.btn-danger,
.btn-success {
  font-weight: 600 !important;
}

/* Tarjetas, totales y estados */
.panel-card strong,
.soft-info-box strong,
.totals-box strong,
.stat-card strong,
.status-pill,
.badge,
.badge-soft {
  font-weight: 600 !important;
}

.clean-list li,
.panel-card p,
.alert,
.soft-info-box {
  font-weight: 400 !important;
}

/* Tablas */
table,
.soft-table {
  font-weight: 400 !important;
}

table thead th,
.soft-table thead th {
  font-weight: 600 !important;
  letter-spacing: 0.025em !important;
}

table tbody td,
.soft-table tbody td {
  font-weight: 400 !important;
}

.soft-table tbody td:nth-child(1),
.soft-table tbody td:nth-child(3) {
  font-weight: 500 !important;
}

/* Evitar pesos excesivos heredados del diseño anterior */
body.zenty-boletas-page .admin-form label,
body.zenty-boletas-page .soft-table thead th,
body.zenty-boletas-page .soft-table tbody td::before,
body.zenty-boletas-page .panel-card-header h3,
body.zenty-boletas-page .section-title-row h4 {
  font-weight: 600 !important;
}

body.zenty-boletas-page .welcome-panel h2 {
  font-weight: 600 !important;
}

body.zenty-boletas-page .totals-box .total-final strong {
  font-weight: 600 !important;
}

/* Mejor lectura en móvil */
@media (max-width: 760px) {
  body {
    letter-spacing: -0.004em;
  }

  .app-topbar h1,
  .welcome-panel h2,
  .panel-card-header h3 {
    letter-spacing: -0.025em !important;
  }
}
