/* Identidade visual do Mirans — tokens e componentes base.
   Usado por relatórios, propostas e demos. Sites e cardápios de clientes
   usam a identidade do próprio cliente, não esta. */

/* Fontes servidas junto com o site (OFL, via @fontsource): nenhum dado do visitante vai ao Google */
@font-face { font-family: "Plus Jakarta Sans"; font-style: normal; font-weight: 500; font-display: swap; src: url("fontes/plus-jakarta-sans-latin-500-normal.woff2") format("woff2"); }
@font-face { font-family: "Plus Jakarta Sans"; font-style: normal; font-weight: 600; font-display: swap; src: url("fontes/plus-jakarta-sans-latin-600-normal.woff2") format("woff2"); }
@font-face { font-family: "Plus Jakarta Sans"; font-style: normal; font-weight: 700; font-display: swap; src: url("fontes/plus-jakarta-sans-latin-700-normal.woff2") format("woff2"); }
@font-face { font-family: "Inter"; font-style: normal; font-weight: 400; font-display: swap; src: url("fontes/inter-latin-400-normal.woff2") format("woff2"); }
@font-face { font-family: "Inter"; font-style: normal; font-weight: 500; font-display: swap; src: url("fontes/inter-latin-500-normal.woff2") format("woff2"); }
@font-face { font-family: "Inter"; font-style: normal; font-weight: 600; font-display: swap; src: url("fontes/inter-latin-600-normal.woff2") format("woff2"); }

:root {
  /* Cores da marca */
  --araucaria: #1F3B2F;   /* primária: títulos, cabeçalhos, símbolo */
  --musgo: #4E6B57;       /* secundária: subtítulos, ícones */
  --nevoa: #F4F1EA;       /* fundo das páginas */
  --branco: #FFFFFF;      /* cartões sobre a névoa */
  --granito: #1F2522;     /* texto corrido */
  --pedra: #5C645F;       /* texto secundário, legendas */
  --linha: #DDD8CC;       /* bordas e divisórias */
  --brasa: #B5481C;       /* destaque: o número que importa, chamada para ação */
  --brasa-clara: #E8834F; /* destaque sobre fundo escuro */
  --buraco: #2F6A8A;      /* buracos de agenda e oportunidades */

  /* Escala de demanda (baixa → alta temporada) para calendários e mapas de calor */
  --demanda-1: #EFEAE0;
  --demanda-2: #EBD3B0;
  --demanda-3: #E2A973;
  --demanda-4: #CC7034;
  --demanda-5: #9E3F17;

  /* Tipografia */
  --fonte-titulo: "Plus Jakarta Sans", "Segoe UI", system-ui, -apple-system, sans-serif;
  --fonte-texto: "Inter", "Segoe UI", system-ui, -apple-system, sans-serif;

  /* Espaçamento e forma */
  --raio: 10px;
  --raio-pequeno: 6px;
  --espaco: 8px;
  --sombra: 0 1px 2px rgba(31, 37, 34, .06), 0 4px 16px rgba(31, 37, 34, .06);
}

*, *::before, *::after { box-sizing: border-box; }

body {
  margin: 0;
  background: var(--nevoa);
  color: var(--granito);
  font: 400 16px/1.55 var(--fonte-texto);
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3 {
  font-family: var(--fonte-titulo);
  font-weight: 700;
  color: var(--araucaria);
  line-height: 1.15;
  letter-spacing: -.02em;
  margin: 0 0 calc(var(--espaco) * 1.5);
}
h1 { font-size: clamp(28px, 5vw, 40px); }
h2 { font-size: clamp(22px, 3.5vw, 28px); }
h3 { font-size: 19px; }

p { margin: 0 0 calc(var(--espaco) * 2); }
small, .legenda { color: var(--pedra); font-size: 13px; }

/* Números sempre alinhados em tabela */
.numero, table { font-variant-numeric: tabular-nums; }

/* Rótulo acima de títulos */
.sobretitulo {
  font: 600 12px/1 var(--fonte-texto);
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--musgo);
  margin-bottom: var(--espaco);
}

.cartao {
  background: var(--branco);
  border: 1px solid var(--linha);
  border-radius: var(--raio);
  padding: calc(var(--espaco) * 3);
  box-shadow: var(--sombra);
}

/* Indicador (KPI): rótulo, número grande e contexto */
.kpi__rotulo { font-size: 13px; color: var(--pedra); }
.kpi__valor {
  font: 700 34px/1.1 var(--fonte-titulo);
  color: var(--araucaria);
  font-variant-numeric: tabular-nums;
  margin: 4px 0;
}
.kpi--destaque .kpi__valor { color: var(--brasa); }

/* Selo obrigatório em todo número que é estimativa (regra 2 do CLAUDE.md) */
.selo-estimativa {
  display: inline-block;
  font: 600 11px/1 var(--fonte-texto);
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--pedra);
  border: 1px dashed var(--pedra);
  border-radius: 999px;
  padding: 4px 8px;
  vertical-align: middle;
}

.botao {
  display: inline-block;
  background: var(--brasa);
  color: var(--branco);
  font: 600 15px/1 var(--fonte-texto);
  text-decoration: none;
  padding: 14px 20px;
  border-radius: var(--raio-pequeno);
}
.botao--secundario {
  background: transparent;
  color: var(--araucaria);
  border: 1.5px solid var(--araucaria);
}

table { width: 100%; border-collapse: collapse; font-size: 14px; }
th {
  text-align: left;
  font-weight: 600;
  color: var(--pedra);
  border-bottom: 1.5px solid var(--araucaria);
  padding: 8px;
}
td { border-bottom: 1px solid var(--linha); padding: 8px; }
td.numero, th.numero { text-align: right; }

@media print {
  body { background: var(--branco); }
  .cartao { box-shadow: none; break-inside: avoid; }
}
