/* ============================================================================
   BASEFLY — TIPOGRAFIA APLICADA (etapa 1)
   Seção 3 do Design System. Carrega depois de styles.css.

   Archivo em título · IBM Plex Sans em texto · IBM Plex Mono em dado.

   As listas de seletores abaixo foram extraídas do próprio styles.css, não
   escritas à mão: é o que garante que nenhum dos 47 títulos e
   55 campos de valor existentes ficasse de fora. Classes novas
   que sigam a mesma convenção de nome entram sozinhas na próxima geração.
   ============================================================================ */

/* --- base ---------------------------------------------------------------- */
body{
  font-family:var(--font-text);
  font-size:15px;          /* seção 3: corpo */
  line-height:1.55;
}

/* --- títulos (Archivo) --------------------------------------------------- */
h1,h2,h3,h4,h5,h6,
.alert-info-title,
.alert-title,
.analytics-card-title,
.cal-day-evt-title,
.calendar-month-title,
.clause-cat-title,
.col-title,
.contract-empty-title,
.contract-fields-title,
.cronograma-fs-title,
.eap-group-title,
.form-preview-section-title,
.gcal-status-title,
.import-dropzone-title,
.inbox-sidebar-title,
.lead-campaign-group-title,
.lead-form-section-title,
.lead-form-title,
.login-title,
.market-banner-title,
.material-card-title,
.modal-section-title,
.modal-success-title,
.modal-title,
.model-card-title,
.notes-card-title,
.notes-item-title,
.notif-header-title,
.notif-title,
.opp-detail-section-title,
.opp-detail-title,
.page-title-main,
.page-title-row,
.panel-title,
.proposal-detail-title-row,
.proposal-eap-title,
.proposal-item-title,
.proposal-payment-title,
.role-card-title,
.seller-picker-title,
.sidebar-group-title,
.sub-answer-section-title,
.toast-title,
.topbar-title,
.twofa-title,
.user-dropdown-item-title,
.win-celebration-title{
  font-family:var(--font-display);
  letter-spacing:-0.01em;
}

/* escala de título — seção 3 */
.page-title-main{ font-family:var(--font-display); font-weight:700; font-size:28px; line-height:1.15; letter-spacing:-0.02em; }
.modal-title,
.section-title{ font-family:var(--font-display); font-weight:600; font-size:20px; line-height:1.25; letter-spacing:-0.015em; }
.card-title,
.analytics-card-title{ font-family:var(--font-display); font-weight:600; font-size:16px; line-height:1.3; letter-spacing:-0.01em; }

/* --- texto de apoio ------------------------------------------------------ */
.page-subtitle,
.modal-subtitle{ font-family:var(--font-text); font-size:13px; line-height:1.5; }

/* --- controles ----------------------------------------------------------- */
.btn,
button{ font-family:var(--font-text); font-weight:600; }
.btn{ font-size:14px; line-height:1; }              /* seção 3: texto de botão */
.btn-small{ font-size:13px; }

.form-input,.form-select,textarea,input{
  font-family:var(--font-text);
  font-size:14px;
}

/* Rótulo de campo — seção 3: Plex Sans 600, 13 px, entrelinha 1,4.
   O rótulo antigo era 10 px em caixa alta com espaçamento largo; a
   especificação pede rótulo legível, não etiqueta. */
.form-label{
  font-family:var(--font-text);
  font-weight:600;
  font-size:13px;
  line-height:1.4;
  letter-spacing:0;
  text-transform:none;
}

/* --- etiquetas (Plex Mono, caixa alta) ----------------------------------- */
.tag,
.chip-label,
.badge{
  font-family:var(--font-mono);
  font-weight:500;
  font-size:11px;
  line-height:1.4;
  letter-spacing:0.14em;
  text-transform:uppercase;
}

/* --- dados e valores (Plex Mono) ----------------------------------------- */
.analytics-hbar-num,
.analytics-kpi-num,
.analytics-timeline-num,
.calendar-day-num,
.calendar-stat-value,
.card-lead-value,
.card-prospect-value,
.checklist-family-count,
.client-stat-value,
.col-count,
.contact-counter-value,
.contract-stat-value,
.crosssell-num,
.eap-group-total,
.eap-service-value,
.editable-total,
.form-preview-banner-num,
.form-q-num,
.info-value,
.inventory-count,
.inventory-value,
.kpi-big-value,
.kpi-soft-value,
.list-num,
.list-value,
.list-value-sub,
.meta-value,
.milestone-value,
.nav-subgroup-count,
.notes-card-num,
.notes-item-num,
.opp-detail-field-value,
.pl-section-count,
.pl-value,
.plan-total-card,
.plan-total-name,
.plan-total-pay,
.plan-total-value,
.proposal-card-value,
.proposal-cost-value,
.proposal-hours-value,
.proposal-item-value,
.proposal-payment-total,
.prospect-stat-value,
.resource-stat-value,
.service-card-price,
.setup-side-value,
.stat-mini-value,
.sub-answer-value,
.submissions-kpi-num,
.temp-filter-count,
.turnbim-feature-qty,
.turnbim-feature-value,
.v-value,
.wizard-step-num,
.num,
[data-num]{
  font-family:var(--font-mono);
  font-weight:400;
  font-variant-numeric:tabular-nums;
}

/* Número em tabela: monoespaçado e à direita — seção 5.3. A classe .num é o
   gancho para as células de valor; as tabelas recebem a marcação na etapa 2. */
table td.num,
table th.num{
  font-family:var(--font-mono);
  font-variant-numeric:tabular-nums;
  text-align:right;
}

/* Campos que carregam identificador ou data também são dado, não texto. */
.client-row-cnpj,
.mono{ font-family:var(--font-mono); font-variant-numeric:tabular-nums; }
