/*
 * shared/theme.css — TEMA UNIFICADO (Sprint 13)
 * ------------------------------------------------------------------
 * Fonte única das VARIÁVEIS ESTRUTURAIS de tema (fundo, superfície,
 * borda, texto, marca/acento) do sistema. Nasceu da pendência da
 * seção 6: até a Sprint 12 cada módulo replicava o próprio :root /
 * [data-theme="dark"] inline, e os blocos tinham DIVERGIDO (família
 * quente/bege x fria/azul). A Sprint 13 unificou no fundo do Metas EM
 * PRODUÇÃO: CLARO = off-white quente-neutro #F5F5F3, superfície #fff, borda
 * taupe #D3D1C7, texto #1A1A1A, marca navy #1E3A5F, acento azul #2563EB. O
 * skeleton (shared/skeleton.js) usa o mesmo tom, pra "carregando" e "normal"
 * baterem. ESCURO = azul-noite (#0F141C/#161D29, acento #5B8CFF).
 *
 * COMO CONSUMIR: incluir no <head> ANTES do <style> inline do arquivo:
 *     <link rel="stylesheet" href="/shared/theme.css">
 * Como o :root local (que sobra) vem depois, ele só carrega os tokens
 * NÃO-estruturais (layout: --r/--rl/--font/--sidebar-w; e as cores
 * SEMÂNTICAS de status: --green/--red/--orange/--yellow/--purple e os
 * tints (-2, -soft, -light), além de --pf-, --k, --card- específicos do
 * módulo). Estruturais NUNCA mais ficam inline (seção 5: só as
 * semânticas de status podem ser literais/por módulo).
 *
 * APELIDOS: o arquivo declara os DOIS conjuntos de nomes que existiam
 * nos módulos apontando pro mesmo valor (ex.: --text2 e --muted,
 * --surface2 e --surface-2, --text3 e --faint), pra migração ser só
 * "remover o bloco estrutural local + linkar isto", sem reescrever as
 * centenas de regras que já usam esses nomes.
 *
 * TEMA vem do Hub (fonte única): localStorage 'sgf-theme' + postMessage
 * 'sgf-theme'; default claro; NUNCA prefers-color-scheme/auto.
 * ------------------------------------------------------------------
 */

:root{
  /* CLARO = o fundo do Metas EM PRODUÇÃO: off-white quente-neutro #f5f5f3,
     superfície branca, borda taupe #d3d1c7 (o que dá o recorte dos cards).
     O skeleton de carregamento (shared/skeleton.js) usa o mesmo tom, pra
     "carregando" e "normal" baterem. Acento azul #2563EB, marca navy. */
  --bg:#F5F5F3;
  --surface:#FFFFFF;
  --surface2:#F1EFE8;  --surface-2:#F1EFE8;   /* banda/cabeçalho/hover */
  --surface3:#E8E6DF;
  --hover:#F1EFE8;

  /* bordas — taupe quente (recorte dos cards, igual produção) */
  --border:#D3D1C7;  --border2:#C6C2B8;

  /* texto (dois esquemas de nome) */
  --text:#1A1A1A;
  --text2:#5F5E5A;   --muted:#5F5E5A;
  --text3:#9A9180;   --faint:#9A9180;
  --text4:#B4AC9C;

  /* marca navy + acento azul */
  --blue:#1E3A5F;    --navy:#1E3A5F;
  --brand:#1E3A5F;   --brand-fill:#1E3A5F;  --brand-fill-h:#162D4A;  --brand-soft:#E8EEF5;
  --accent:#2563EB;  --accent-soft:#EEF2FF;
  --active-bg:#EEF2FF;  --active-color:#1D4ED8;
  --blue2:#2B5797;   /* azul MÉDIO (não confundir com o acento #2563EB) */

  /* notificação + sombras (sutis; o recorte vem da borda, como em produção) */
  --badge:#E5484D;
  --shadow:0 1px 2px rgba(60,50,30,.04),0 1px 3px rgba(60,50,30,.06);
  --shadow-lg:0 6px 20px rgba(60,50,30,.10);
}

[data-theme="dark"]{
  /* superfícies e fundo — azul-noite */
  --bg:#0F141C;
  --surface:#161D29;
  --surface2:#1C2532;  --surface-2:#1C2532;
  --surface3:#232E3E;
  --hover:#1C2532;

  /* bordas */
  --border:#2A3547;  --border2:#33415A;

  /* texto */
  --text:#E6EBF3;
  --text2:#93A0B4;   --muted:#93A0B4;
  --text3:#66748C;   --faint:#66748C;
  --text4:#55627A;

  /* marca + acento (clareados no escuro) */
  --blue:#1E3A5F;    --navy:#1E3A5F;
  --brand:#5B8CFF;   --brand-fill:#2563EB;  --brand-fill-h:#1D4ED8;  --brand-soft:#1D2A4A;
  --accent:#5B8CFF;  --accent-soft:#1B2740;
  --active-bg:#1D2A4A;  --active-color:#60A5FA;
  --blue2:#60A5FA;

  /* notificação + sombras */
  --badge:#F2555A;
  --shadow:0 1px 2px rgba(0,0,0,.4);
  --shadow-lg:0 6px 20px rgba(0,0,0,.5);
}
