/* =====================================================================
   Soft2Business — escala tipográfica única (aprovada pelo Jorge a 05-11-2026)
   Uma só letra (Lexend), dois pesos de leitura: 300 para ler, 400 para destacar
   (o 500 fica só para casos excecionais). Cada texto tem um papel:
     título do ecrã 28/400 laranja · título de secção 22/400 laranja · título de cartão 19/400 azul
     número de destaque 26/400 azul · texto 17/300 · texto secundário 15/300 · rótulo 16/400 azul
     campo/valor 17/300 · título de coluna 16/400 azul · dados de tabela 16/300 · botão 16/400 · selo 15/300
   Em Soluções com letra mínima de 17px (GProd, Intelligence) os papéis de 15/16px ficam a 17px (--s2b-min).
   Ativa-se com class="s2b-tipo" no <html>; a página define só o que é dela (classes próprias) usando estas variáveis.
   ===================================================================== */
:root{
  --s2b-f-titulo:28px; --s2b-f-seccao:22px; --s2b-f-cartao:19px; --s2b-f-numero:26px;
  --s2b-f-texto:17px; --s2b-f-sec:15px; --s2b-f-rotulo:16px; --s2b-f-campo:17px;
  --s2b-f-coluna:16px; --s2b-f-dados:16px; --s2b-f-botao:16px; --s2b-f-selo:15px;
  --s2b-w-ler:300; --s2b-w-destaque:400;
  --s2b-c-titulo:#fe4901; --s2b-c-sub:#013dfe; --s2b-c-texto:#334155; --s2b-c-dados:#1e293b; --s2b-c-sec:#475569;
  --s2b-lh-titulo:1.2; --s2b-lh-texto:1.5; --s2b-lh-dados:1.4;
}
/* Soluções com letra mínima de 17px */
html.s2b-min17{ --s2b-f-sec:17px; --s2b-f-rotulo:17px; --s2b-f-coluna:17px; --s2b-f-dados:17px; --s2b-f-botao:17px; --s2b-f-selo:17px; }

html.s2b-tipo body{ font-weight:var(--s2b-w-ler); }
html.s2b-tipo b, html.s2b-tipo strong, html.s2b-tipo h1, html.s2b-tipo h2, html.s2b-tipo h3, html.s2b-tipo h4, html.s2b-tipo h5, html.s2b-tipo th, html.s2b-tipo label, html.s2b-tipo button, html.s2b-tipo .btn{ font-weight:var(--s2b-w-destaque); }
html.s2b-tipo input, html.s2b-tipo select, html.s2b-tipo textarea, html.s2b-tipo td{ font-weight:var(--s2b-w-ler); }
/* pesos escritos diretamente nos ecrãs: os de destaque (500 a 900) passam a 400; os de texto (400) passam a 300 */
html.s2b-tipo [style*="font-weight:500"], html.s2b-tipo [style*="font-weight: 500"],
html.s2b-tipo [style*="font-weight:600"], html.s2b-tipo [style*="font-weight: 600"],
html.s2b-tipo [style*="font-weight:700"], html.s2b-tipo [style*="font-weight: 700"],
html.s2b-tipo [style*="font-weight:800"], html.s2b-tipo [style*="font-weight: 800"],
html.s2b-tipo [style*="font-weight:900"], html.s2b-tipo [style*="font-weight: 900"],
html.s2b-tipo [style*="font-weight:bold"], html.s2b-tipo [style*="font-weight: bold"]{ font-weight:var(--s2b-w-destaque) !important; }
html.s2b-tipo [style*="font-weight:400"], html.s2b-tipo [style*="font-weight: 400"]{ font-weight:var(--s2b-w-ler) !important; }
/* códigos e números com a mesma letra (algarismos de largura igual) */
html.s2b-tipo code, html.s2b-tipo kbd, html.s2b-tipo samp, html.s2b-tipo pre, html.s2b-tipo [style*="monospace"]{ font-family:'Lexend',sans-serif !important; font-variant-numeric:tabular-nums; }
html.s2b-tipo td{ font-variant-numeric:tabular-nums; }
/* campos sem tamanho próprio (o navegador punha 13,3px): o tamanho de campo; especificidade 0 — qualquer classe da página prevalece */
:where(html.s2b-tipo) :where(input, select, textarea){ font-size:var(--s2b-f-campo); }
/* texto dentro de gráficos desenhados em SVG (ex.: número no centro de um anel): peso de destaque */
:where(html.s2b-tipo) svg text{ font-weight:var(--s2b-w-destaque); }
/* ecrãs de espera comuns («A calcular…», soft2b_alinhar.js) */
html.s2b-tipo .s2b-esp-caixa, html.s2b-tipo .s2b-esp-caixa *{ font-weight:var(--s2b-w-destaque) !important; }
/* menu lateral (regra de 05-11-2026): opções e títulos das secções a 300 */
html.s2b-tipo .s2b-m300, html.s2b-tipo .s2b-m300t{ font-weight:300 !important; }
