/* SIGMA EDO | Tipografia global acessível | 20261024j
   Camada visual compartilhada por TODAS as páginas renderizadas pelo EDO.
   Não altera marca, permissões, rotas, dados nem funcionamento dos formulários.
   Deve ser carregada APÓS edo.css e edo-dashboard.css. */
:root {
  --sigma-body-size: 16px;
  --sigma-caption-size: 15px;
  --sigma-label-size: 16px;
  --sigma-readable-muted: #526782;
  --muted: #526782;
}
html, body { font-size: var(--sigma-body-size); line-height: 1.56; }
body { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
.main, .workspace, .public-main, .auth-main, .auth-card, .sigma-modal, .panel, .edash { font-size: 16px; }
p, li, dt, dd { line-height: 1.58; }
h1 { font-size: clamp(30px, 2.45vw, 38px); line-height: 1.17; }
h2 { font-size: 23px; line-height: 1.28; }
h3 { font-size: 19px; line-height: 1.3; }
/* Navegação privada e utilitários. O símbolo vetorial nunca recebe estilo de fonte. */
.sidebar .menu-caption { font-size: 14px; letter-spacing: .075em; color: #586d87; }
.sidebar .nav-link { font-size: 16px; line-height: 1.35; min-height: 48px; }
.sidebar .nav-label { font-size: 16px; }
.sidebar .support-action__body strong { font-size: 15px; }
.sidebar .support-action__body small { font-size: 14px; line-height: 1.4; color: #536985; }
.sidebar .sidebar-bottom .context-name { font-size: 15px; }
.sidebar .sidebar-bottom .site-tag { font-size: 14px; }
.topbar .eyebrow, .eyebrow { font-size: 14px; letter-spacing: .075em; }
.topbar-title { font-size: 18px; }
.user-label { font-size: 15px; color: #4f6480; }
.link-btn { font-size: 16px; }
.footer, .public-footer { font-size: 14px; color: #586c85; }
/* Cabeçalhos, botões, cartões e status: melhor leitura sem mudar a hierarquia. */
.page-head h1 { font-size: clamp(30px, 2.45vw, 38px); }
.page-head p, .panel p, .notice, .toast, .invite-result, .contact { font-size: 16px; }
.breadcrumb { font-size: 15px; color: #526b89; }
.btn { font-size: 16px; min-height: 46px; line-height: 1.3; }
.btn.small { font-size: 15px; min-height: 40px; }
.stat { min-height: 172px; }
.stat small, .stat__head small, .stat__head { font-size: 16px; line-height: 1.4; }
.stat strong { font-size: clamp(36px, 3vw, 44px); line-height: 1.1; font-variant-numeric: tabular-nums; }
.stat span, .stat__desc { font-size: 15px; line-height: 1.45; color: #526782; }
.empty-state strong { font-size: 18px; }
.empty-state p, .empty, .hint { font-size: 15px; color: #526782; }
.pill { font-size: 14px; line-height: 1.35; }
.domain, .details dt, .details dd, .contact small, .text-link { font-size: 15px; }
/* Tabelas e busca: letras confortáveis, rolagem horizontal preservada. */
.table-scroll { max-width: 100%; overflow-x: auto; }
th { font-size: 15px; line-height: 1.4; }
td { font-size: 16px; line-height: 1.5; }
table .btn.small { font-size: 15px; }
.search input { font-size: 16px; }
/* Formulários, login, cadastro institucional e janelas de edição. */
input, select, textarea { font-size: 16px; min-height: 46px; line-height: 1.4; }
input::placeholder, textarea::placeholder { color: #697c95; opacity: 1; }
.field { font-size: 16px; line-height: 1.35; gap: 7px; }
.field > span, .field > label { font-size: 16px; }
.modal-head h2 { font-size: 26px; }
.modal-head p { font-size: 16px; line-height: 1.48; }
.steps button, #create-tenant .steps button { font-size: 15px; line-height: 1.35; min-height: 44px; }
.modal-actions .btn { font-size: 16px; }
.confirmation-dialog { font-size: 16px; }
.confirmation-dialog p { font-size: 16px; }
.lookup-feedback, .data-source-note, .slug-preview { font-size: 15px; line-height: 1.55; }
.lookup-auto-indicator { font-size: 14px; }
.form-section-title { font-size: 19px; line-height: 1.35; }
.auth-card, .auth-card p, .auth-card .field, .auth-card label { font-size: 16px; }
.auth-card h1 { font-size: clamp(28px, 2.4vw, 36px); }
.auth-support, .auth-support a { font-size: 15px; }
.auth-brand p { font-size: 17px; }
/* Portal público e página de consulta das edições. */
.public-header nav a, .public-header-actions a { font-size: 16px; }
.public-hero h1 { font-size: clamp(30px, 3vw, 43px); }
.public-hero p, .empty-public { font-size: 16px; }
.public-hero .eyebrow { font-size: 14px; }
/* Painel analítico: sobrescreve somente sua tipografia, não os dados ou gráficos. */
.edash { font-size: 16px; }
.edash-heading h1 { font-size: clamp(30px, 2.5vw, 38px); }
.edash-eyebrow { font-size: 14px; letter-spacing: .075em; color: #466a92; }
.edash-lead { font-size: 17px; line-height: 1.6; color: #516783; }
.edash-new { font-size: 16px; min-height: 48px; }
.edash-filters-title { font-size: 17px; }
.edash-filters label span { font-size: 15px; font-weight: 700; color: #526782; }
.edash-filters label { min-width: 0; }
.edash-filters select { font-size: 16px; min-height: 48px; min-width: 0; width: 100%; }
.edash-filter-btn, .edash-clear { font-size: 16px; min-height: 46px; }
.edash-scope-note { font-size: 15px; line-height: 1.55; color: #526782; }
.edkpi__top { font-size: 16px; line-height: 1.4; }
.edkpi strong { font-size: clamp(37px, 2.9vw, 44px); font-variant-numeric: tabular-nums; }
.edkpi__note { font-size: 15px; line-height: 1.52; color: #526782; }
.edkpi__link { font-size: 15px; min-height: 34px; }
.edash-card-head h2 { font-size: 21px; line-height: 1.3; }
.edash-card-head p { font-size: 15px; line-height: 1.55; color: #526782; }
.edash-axis { font-size: 14px; fill: #506580; }
.edash-donut-label { font-size: 15px; }
.edash-legend-item, .edash-legend-item b { font-size: 14px; }
.edash-bar-label, .edash-bars-row strong { font-size: 15px; }
.edash-tooltip { font-size: 15px; line-height: 1.5; }
.edash-visual-empty { font-size: 15px; }
.edash-details, .edash-details summary, .edash-list { font-size: 15px; line-height: 1.5; }
.edash-alerts h2 { font-size: 21px; }
.edash-alerts p { font-size: 15px; }
.edash-alert-number { font-size: 15px; }
.edash-alert-row { font-size: 15px; line-height: 1.5; }
.edash-alert-row strong { font-size: 16px; }
.edash-empty-alert, .edash-disclaimer { font-size: 15px; line-height: 1.6; color: #526782; }
/* Compatibilidade com viewport de tablet e celular e navegação recolhida. */
@media (max-width: 1120px) {
  .edash-filters label { min-width: 0; }
  .edash-card-head h2 { font-size: 20px; }
  .edash-legend-item { font-size: 14px; }
}
@media (max-width: 730px) {
  html, body, .main, .public-main, .auth-main, .sigma-modal { font-size: 16px; }
  h1, .page-head h1, .edash-heading h1 { font-size: 29px; }
  .page-head p, .edash-lead { font-size: 16px; }
  .stat strong, .edkpi strong { font-size: 36px; }
  .steps, #create-tenant .steps { flex-wrap: nowrap; overflow-x: auto; max-width: 100%; scrollbar-width: thin; }
  .steps button, #create-tenant .steps button { font-size: 15px; flex-shrink: 0; white-space: nowrap; }
  .edash-card-head h2 { font-size: 20px; }
  .edash-legend-item { font-size: 14px; }
  .edash-alert-row { font-size: 15px; }
}
