/* Reduto360 Apuração 2026 · Design system · 1/4 · TOKENS
   Nada de valor solto no resto do CSS: cor, tipo, espaço, raio, sombra e movimento vêm daqui.
   Identidade: escura, em camadas de superfície; o verde da marca é o único acento; o azul entra só em dado e link. */

:root {
  color-scheme: dark;

  /* ---- superfícies (da mais funda para a mais próxima de quem olha) */
  --c-bg-0: #040810;          /* fundo da página, atrás de tudo */
  --c-bg-1: #070d19;          /* base das seções */
  --c-surf-1: #0b1424;        /* cartões e painéis */
  --c-surf-2: #101b31;        /* campos, abas, itens elevados */
  --c-surf-3: #17263f;        /* hover, estado ativo discreto */
  --c-vidro: rgba(8, 14, 26, .72);   /* cabeçalho e barras sobre o conteúdo */

  /* ---- bordas e realces (sempre transparência sobre a superfície) */
  --c-linha-1: rgba(150, 182, 235, .08);
  --c-linha-2: rgba(150, 182, 235, .15);
  --c-linha-3: rgba(150, 182, 235, .27);
  --c-realce: rgba(255, 255, 255, .05);       /* filete de luz no topo de cartões */

  /* ---- texto (contraste medido sobre --c-surf-1: 15,9 / 8,6 / 5,6) */
  --c-tx-1: #eef3fc;
  --c-tx-2: #b4c1d8;
  --c-tx-3: #8496b3;

  /* ---- acento da marca (verde do "360") */
  --c-acento-300: #9bf2c0;
  --c-acento-400: #56de92;
  --c-acento-500: #2fc875;
  --c-acento-600: #1fa35c;
  --c-sobre-acento: #04160b;                  /* texto sobre fundo verde: 9,6:1 */
  --c-acento-suave: rgba(86, 222, 146, .12);

  /* ---- dado e link */
  --c-azul-400: #78adff;
  --c-azul-500: #4a8bf2;

  /* ---- estado da apuração (nunca só cor: sempre com texto ou textura) */
  --c-live: #ff6369;
  --c-vazio: #8da2c2;          /* Não computado */
  --c-parcial: #7db0ff;        /* Apuração parcial (azul: "em andamento"; nada de semáforo) */
  --c-final: var(--c-acento-400);  /* Totalização final */
  --c-erro: #ff8a8f;
  --c-erro-suave: rgba(255, 99, 105, .12);

  /* ---- tipografia */
  --f-ui: "Geist", "Geist Fallback", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --f-dado: "Geist Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;

  --t-micro: .75rem;        /* 12 */
  --t-legenda: .8125rem;    /* 13 */
  --t-pequeno: .9375rem;    /* 15 */
  --t-corpo: 1rem;          /* 16 */
  --t-lide: clamp(1.0625rem, .98rem + .42vw, 1.25rem);
  --t-h3: clamp(1.125rem, 1.05rem + .4vw, 1.375rem);
  --t-h2: clamp(1.875rem, 1.2rem + 2.9vw, 3.25rem);
  --t-h1: clamp(2.125rem, 1rem + 3.4vw, 4rem);
  --t-numero: clamp(2.75rem, 2.1rem + 2.8vw, 4.25rem);

  --p-regular: 400;
  --p-medio: 500;
  --p-semi: 600;
  --p-forte: 700;
  --p-black: 800;

  /* ---- espaço (base 4) */
  --e-1: .25rem;
  --e-2: .5rem;
  --e-3: .75rem;
  --e-4: 1rem;
  --e-5: 1.25rem;
  --e-6: 1.5rem;
  --e-8: 2rem;
  --e-10: 2.5rem;
  --e-12: 3rem;
  --e-16: 4rem;
  --e-20: 5rem;
  --e-24: 6rem;
  --secao-y: clamp(4rem, 2.6rem + 6vw, 8rem);   /* respiro vertical entre seções */
  --margem: clamp(1rem, .4rem + 2.6vw, 2rem);   /* margem lateral: nunca menos de 16px */
  --largura: 75rem;                             /* 1200px */

  /* ---- raios */
  --r-1: .5rem;
  --r-2: .75rem;
  --r-3: 1.125rem;
  --r-4: 1.625rem;
  --r-pilula: 999px;

  /* ---- sombras (tingidas de azul-marinho, com deslocamento: profundidade, não halo) */
  --s-1: 0 1px 0 var(--c-realce) inset, 0 6px 18px -10px rgba(0, 0, 0, .7);
  --s-2: 0 1px 0 var(--c-realce) inset, 0 18px 40px -18px rgba(0, 0, 0, .75), 0 2px 6px -2px rgba(0, 0, 0, .5);
  --s-3: 0 1px 0 var(--c-realce) inset, 0 40px 80px -30px rgba(0, 0, 0, .85), 0 12px 24px -12px rgba(0, 0, 0, .6);
  --s-acento: 0 1px 0 rgba(255, 255, 255, .28) inset, 0 14px 34px -12px rgba(47, 200, 117, .55);
  --s-foco: 0 0 0 3px rgba(86, 222, 146, .5);

  /* ---- movimento */
  --ease-saida: cubic-bezier(.23, 1, .32, 1);       /* entra e responde */
  --ease-vai-volta: cubic-bezier(.77, 0, .175, 1);  /* move na tela */
  --ease-gaveta: cubic-bezier(.32, .72, 0, 1);      /* folha de baixo */
  --d-1: 140ms;
  --d-2: 220ms;
  --d-3: 420ms;
  --d-4: 700ms;

  /* ---- camadas */
  --z-fundo: 0;
  --z-pagina: 1;
  --z-topo: 40;
  --z-barra: 50;
  --z-folha: 80;
  --z-dica: 90;

  /* ---- medidas fixas de componentes */
  --topo-h: 4.25rem;
  --barra-h: 4.75rem;
  --toque: 2.75rem;          /* alvo de toque mínimo: 44px */
}

/* A fonte de reserva imita a métrica da Geist para a troca não empurrar o texto (CLS). */
@font-face {
  font-family: "Geist Fallback";
  src: local("Arial"), local("Helvetica Neue"), local("Liberation Sans");
  size-adjust: 102.5%;
  ascent-override: 93%;
  descent-override: 25%;
  line-gap-override: 0%;
}
