/* ═══════════════════════════════════════════════════════════════
   01-tema.css — Tokens do tema: vidro neutro, cor só nos números

   ───────────────────────────────────────────────────────────────
   A REGRA QUE ORGANIZA ESTE ARQUIVO

   A interface é neutra. Cinza, vidro, tinta. Cor aqui dentro
   significa UMA coisa e só uma: um número que mudou de estado —
   verde deu certo, vermelho não deu, âmbar merece atenção.

   Isso não é gosto: numa tela que existe para ler resultado, cor
   gasta em enfeite é cor que não sobra para o dado. Quando o botão
   de "Visão Geral" era laranja e o ROAS ruim também era vermelho, o
   olho tinha que decidir qual dos dois importava.

   Por isso `--meta`, que era laranja e pintava metade do painel,
   virou grafite. O nome ficou porque 3.100 linhas de CSS e 68
   arquivos JS o chamam — trocar o VALOR muda o painel inteiro;
   trocar o NOME quebraria tudo.

   ───────────────────────────────────────────────────────────────
   TIPOGRAFIA: por que continua Plus Jakarta Sans

   O visual da Apple vem muito mais da ESCALA (tamanho, entrelinha,
   peso, hierarquia) do que da fonte em si. A escala está aplicada
   em `08-vidro.css`. Trocar a família por SF Pro exigiria uma fonte
   nova pela rede num app que roda em localhost e precisa abrir
   offline — custo real, ganho pequeno.
   ═══════════════════════════════════════════════════════════════ */

@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;1,400&display=swap');

/* ══════════════════════════════════════════════════════════════
   TEMA ESCURO (padrão)
   ══════════════════════════════════════════════════════════════ */
:root {
  /* ── A cor de ação: grafite, não laranja ──────────────────────
     Antes era #E85D20. O destaque agora é feito por CONTRASTE e
     PROFUNDIDADE (vidro mais claro, borda mais viva, texto mais
     branco), que é como a Apple resolve estado ativo sem gastar
     cor. */
  --meta:#E8E8ED;
  --meta-dim:rgba(255,255,255,0.08);
  --meta-l:#FFFFFF;
  --meta-d:#9A9AA2;

  /* ── As únicas cores do sistema: estado de um número ──────────
     Ajustadas para passar 4.5:1 sobre o vidro escuro. */
  --green:#32D74B;     --green-dim:rgba(50,215,75,0.14);
  --yellow:#FFD426;    --yellow-dim:rgba(255,212,38,0.14);
  --red:#FF453A;       --red-dim:rgba(255,69,58,0.14);
  --purple:#BF5AF2;

  /* ── Fundos ───────────────────────────────────────────────────
     `--bg` é o único opaco de verdade. Todo o resto é vidro: uma
     película clara POR CIMA do fundo, não uma cor própria. É o que
     faz a profundidade funcionar quando um painel passa por cima
     de outro. */
  --bg:#08080A;
  --bg2:rgba(8,8,10,0);
  --card:rgba(255,255,255,0.055);
  --card2:rgba(255,255,255,0.085);
  --sidebar-bg:rgba(255,255,255,0.035);

  /* ── Tinta ────────────────────────────────────────────────────
     Quatro níveis, como os `label` da Apple: primário, secundário,
     terciário e o quase-invisível de divisória. */
  --text:#F5F5F7;
  --muted:#6E6E73;
  --muted2:#A1A1A8;
  --border:rgba(255,255,255,0.12);
  --border2:rgba(255,255,255,0.06);

  /* ── Vidro ────────────────────────────────────────────────────
     Três espessuras, na mesma ideia dos materiais do iOS: quanto
     mais alta a camada, mais opaca — para o conteúdo de baixo
     virar textura, não distração. */
  --vidro-fino:rgba(255,255,255,0.045);
  --vidro:rgba(255,255,255,0.075);
  --vidro-denso:rgba(28,28,30,0.82);
  --vidro-blur:saturate(180%) blur(22px);
  --vidro-borda:rgba(255,255,255,0.12);
  --vidro-brilho:rgba(255,255,255,0.16);   /* fio de luz na borda de cima */

  /* ── Elevação ─────────────────────────────────────────────────
     Sombra difusa e larga, nunca dura. Sombra dura desenha caixa;
     sombra difusa desenha distância. */
  --sombra-1:0 1px 2px rgba(0,0,0,.28);
  --sombra-2:0 6px 20px rgba(0,0,0,.34);
  --sombra-3:0 22px 60px rgba(0,0,0,.52);

  /* ── Cantos concêntricos ──────────────────────────────────────
     R_externo = R_interno + margem. É a regra que faz cartão
     dentro de cartão parecer encaixado em vez de empilhado. */
  --r-xl:22px;
  --r-lg:16px;
  --r-md:11px;
  --r-sm:8px;
  --r-pill:999px;

  /* ── Movimento ────────────────────────────────────────────────
     Curva de mola: sai rápido, chega devagar, com um respiro no
     fim. Linear parece máquina. */
  --mola:cubic-bezier(.32,.72,0,1);
  --t-rapido:.18s;
  --t-normal:.32s;

  --sidebar:260px;
  --drawer:410px;

  /* Compatibilidade: nomes que o CSS antigo ainda chama. */
  --glow-meta:0 0 0 1px rgba(255,255,255,0.14);
  --glow-green:0 0 20px rgba(50,215,75,0.18);
  --champ-gold:#FFD426; --champ-silver:#A1A1A8; --champ-bronze:#D9762B;

  /* ── O ÚNICO FUNDO OPACO ALÉM DE `--bg` ───────────────────────
     O tema inteiro é feito de VIDRO: `--card2` é
     `rgba(255,255,255,0.085)`, uma película clara que só vira cinza
     escuro quando composta sobre `--bg`.

     Isso funciona dentro da página e QUEBRA fora dela. A lista que
     abre num `<select>` é desenhada pelo navegador FORA do
     documento, sobre o fundo padrão dele — que é branco. A película
     branca a 8,5% sobre branco dá branco; e o texto, `--text`
     (#F5F5F7), é branco também. Resultado: uma lista branca com
     nomes invisíveis, visíveis só na linha que o próprio navegador
     pinta de azul.

     Nenhum `background` de vidro serve para o que o navegador
     desenha por conta própria. Daí um token opaco. */
  --popup-bg:#1C1C1E;
  --popup-bg-ativo:#2C2C2E;

  /* Diz ao navegador em que tema ele deve desenhar o que é DELE:
     a lista do `select`, a barra de rolagem, o seletor de data, o
     foco padrão. Sem isto, tudo o que não é pintado por nós nasce
     claro no meio de um painel escuro. */
  color-scheme: dark;
}

/* ══════════════════════════════════════════════════════════════
   TEMA CLARO
   Mesma gramática, invertida: o vidro passa a ser branco sobre um
   cinza de agrupamento — o `systemGroupedBackground` do iOS.
   ══════════════════════════════════════════════════════════════ */
html.light {
  --meta:#1D1D1F;
  --meta-dim:rgba(0,0,0,0.05);
  --meta-l:#000000;
  --meta-d:#6E6E73;

  --green:#1E8E3E;     --green-dim:rgba(30,142,62,0.10);
  --yellow:#9A6700;    --yellow-dim:rgba(154,103,0,0.10);
  --red:#D62F27;       --red-dim:rgba(214,47,39,0.10);

  --bg:#F2F2F7;
  --bg2:#E9E9EE;
  --card:rgba(255,255,255,0.78);
  --card2:rgba(255,255,255,0.94);
  --sidebar-bg:rgba(255,255,255,0.70);

  --text:#1D1D1F;
  --muted:#8E8E93;
  --muted2:#5E5E63;
  --border:rgba(0,0,0,0.10);
  --border2:rgba(0,0,0,0.05);

  --vidro-fino:rgba(255,255,255,0.62);
  --vidro:rgba(255,255,255,0.78);
  --vidro-denso:rgba(250,250,252,0.92);
  --vidro-borda:rgba(0,0,0,0.09);
  --vidro-brilho:rgba(255,255,255,0.85);

  --sombra-1:0 1px 2px rgba(0,0,0,.05);
  --sombra-2:0 6px 20px rgba(0,0,0,.07);
  --sombra-3:0 22px 60px rgba(0,0,0,.13);

  --glow-meta:0 0 0 1px rgba(0,0,0,0.10);
  --glow-green:0 0 20px rgba(30,142,62,0.12);
  --champ-gold:#9A6700; --champ-silver:#8E8E93; --champ-bronze:#8A5A2B;

  /* Opaco também aqui: `--card2` no claro é branco a 94%, e os 6%
     que faltam bastam para o texto ficar lavado sobre o fundo do
     navegador. Ver o comentário no tema escuro. */
  --popup-bg:#FFFFFF;
  --popup-bg-ativo:#EDEDF0;

  color-scheme: light;
}

/* O título da barra lateral era um degradê laranja. Vira tinta. */
html.light .sb-head h1,
.sb-head h1{
  background:none !important;
  -webkit-text-fill-color:currentColor !important;
  color:var(--text) !important;
}

/* ── Base ────────────────────────────────────────────────────── */
*{box-sizing:border-box;margin:0;padding:0}

body{
  background:var(--bg);
  font-family:'Plus Jakarta Sans',-apple-system,BlinkMacSystemFont,system-ui,sans-serif;
  color:var(--text);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  /* Letra levemente fechada é o que dá o ar de interface de sistema. */
  letter-spacing:-0.011em;
  transition:background var(--t-normal) var(--mola),color var(--t-normal) var(--mola);
}

/* Um brilho muito baixo atrás de tudo. Sem ele o vidro não tem o
   que refratar e vira cinza chapado — é o fundo que faz o vidro
   parecer vidro. */
body::before{
  content:'';
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:0;
  background:
    radial-gradient(60rem 40rem at 12% -10%, rgba(120,120,140,.16), transparent 60%),
    radial-gradient(50rem 36rem at 92% 8%, rgba(90,110,140,.13), transparent 62%);
}
html.light body::before{
  background:
    radial-gradient(60rem 40rem at 12% -10%, rgba(120,140,180,.20), transparent 60%),
    radial-gradient(50rem 36rem at 92% 8%, rgba(150,140,180,.16), transparent 62%);
}

/* ── Barra de rolagem ────────────────────────────────────────── */
::-webkit-scrollbar{width:8px;height:8px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{
  background:var(--border);
  border-radius:var(--r-pill);
  border:2px solid transparent;
  background-clip:content-box;
}
::-webkit-scrollbar-thumb:hover{background:var(--muted2);background-clip:content-box}

/* ── Foco visível ────────────────────────────────────────────────
   Um anel, não uma cor. Vale para quem navega por teclado, e é
   requisito de acessibilidade — não enfeite. */
:focus-visible{
  outline:2px solid var(--text);
  outline-offset:2px;
  border-radius:var(--r-sm);
}

/* ── Toggle de tema ──────────────────────────────────────────── */
.theme-toggle{
  display:flex;align-items:center;justify-content:center;
  width:32px;height:32px;
  border-radius:var(--r-md);
  border:1px solid var(--vidro-borda);
  background:var(--vidro-fino);
  -webkit-backdrop-filter:var(--vidro-blur);
  backdrop-filter:var(--vidro-blur);
  cursor:pointer;color:var(--muted2);
  font-size:.85rem;flex-shrink:0;
  transition:background var(--t-rapido) var(--mola),color var(--t-rapido) var(--mola);
}
.theme-toggle:hover{background:var(--card2);color:var(--text)}

/* ── Quem pediu menos movimento, recebe menos movimento ──────────
   Não é opcional: é a preferência do sistema operacional da
   pessoa, e ignorá-la causa mal-estar real em quem tem sensibi-
   lidade vestibular. */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.12s !important;
    scroll-behavior:auto !important;
  }
}
