/* ============================================================
   Sentinela · Design System — TOKENS
   Fonte ÚNICA de cores/escala/tipografia (único arquivo com hex).
   Consumido por app de campo (/app) e portal/gestor (raiz, /painel).
   Garante portabilidade 1:1 ao app nativo (P2 / §3.6).
   ============================================================ */
:root{
  /* --- Azul institucional SGB (escala) --- */
  --blue-900:#0E2A4E;
  --blue-800:#123E74;   /* Azul SGB principal */
  --blue-700:#16498A;
  --blue-500:#1B5FB0;
  --blue-300:#5C8FCB;
  --blue-100:#CFE0F4;
  --blue-50:#E8F0FA;
  --blue:#123E74;        /* alias compat */
  --blue9:#0E2A4E;       /* alias compat */

  /* --- Escala de RISCO (semântica, cor + token de forma/ícone) ---
     Padrão SOFT (texto escuro sobre fundo claro, ≥4.5:1 WCAG AA) para
     baixo/médio/alto; SÓLIDO com texto branco apenas para CRÍTICO.
     Os tokens *-text foram escurecidos para passar AA (≥6:1) — só valores. */
  --risk-low:#15803D;        --risk-low-bg:#E7F6EC;   --risk-low-bd:#C7EAD3;   --risk-low-text:#166534;
  --risk-medium:#CA8A04;     --risk-medium-bg:#FBF1D0; --risk-medium-bd:#F6D9A8; --risk-medium-text:#854D0E;
  --risk-high:#EA580C;       --risk-high-bg:#FDEADD;  --risk-high-bd:#F9CBA8;  --risk-high-text:#9A3412;
  --risk-critical:#B91C1C;   --risk-critical-bg:#FDECEC; --risk-critical-bd:#F5C6C6; --risk-critical-text:#FFFFFF;

  /* --- "ATENÇÃO" (âmbar canônico ÚNICO) — consolida warn/risk-medium/pending ---
     Use estes ao introduzir novos componentes; os nomes antigos abaixo
     apontam para cá (dedup sem renomear). */
  --attention:#854D0E;        /* texto âmbar AA (6:1 sobre --attention-bg) */
  --attention-bg:#FBF1D0;     /* fundo âmbar claro */
  --attention-bd:#F6D9A8;     /* borda âmbar */
  --attention-solid:#CA8A04;  /* preenchimento/ícone âmbar */

  /* --- "NÃO CONCLUSIVO" — cinza-azulado NEUTRO (distinto do âmbar e do offline) --- */
  --inconclusive:#3A434F;       --inconclusive-text:#3A434F;   /* texto neutro (8.9:1) */
  --inconclusive-bg:#EEF2F7;    --inconclusive-bd:#D7DEE8;

  /* compat com estados funcionais antigos (valores re-apontados ao âmbar canônico) */
  --ok:var(--risk-low);   --okbg:var(--risk-low-bg);   --okbd:var(--risk-low-bd);
  --warn:var(--attention);         --warnbg:var(--attention-bg);            --warnbd:var(--attention-bd);
  --bad:var(--risk-critical); --badbg:var(--risk-critical-bg); --badbd:var(--risk-critical-bd);
  --info:var(--blue-800); --infobg:var(--blue-50);    --infobd:var(--blue-100);

  /* --- Neutros --- */
  --ink:#14213A;
  --muted:#475467;  /* era #5A6478 (3.5:1, falha AA); #475467 = 4.63:1 — passa WCAG AA (P2 §3.5) */
  --muted-2:#8A93A6;
  --line:#E3E6EC;
  --line-2:#EEF0F3;
  --surface:#FFFFFF;
  --surface-2:#F4F5F7;
  --canvas:#E7E5DF;       /* fundo papel institucional */

  /* --- Status de conectividade/sync ---
     OFFLINE agora é NEUTRO (slate), derivado dos neutros — não mais âmbar,
     para não colidir com "Atenção". PENDING continua âmbar (= --attention). */
  --offline:#6B7480;      --offline-bg:#E4E8ED; --offline-bd:#C9D0D9; --offline-text:#3B4654;
  --synced:#166534;       --synced-bg:#E7F6EC;
  --pending:var(--attention);
  --pending-bg:var(--attention-bg);  --pending-bd:var(--attention-bd);  /* novos */

  /* --- Tipografia --- */
  --font-sans:"IBM Plex Sans", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  --font-mono:"IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;

  /* --- Espaçamento (grade 4px) --- */
  --sp-1:4px; --sp-2:8px; --sp-3:12px; --sp-4:16px; --sp-5:20px; --sp-6:24px; --sp-8:32px; --sp-10:40px; --sp-12:48px;

  /* --- Raio / sombra / motion --- */
  --r-sm:8px; --r-md:12px; --r-lg:16px; --r-xl:22px; --r-pill:999px;
  --sh-1:0 1px 2px rgba(14,42,78,.06);
  --sh-2:0 4px 16px rgba(14,42,78,.10);
  --sh-3:0 12px 32px rgba(14,42,78,.16);
  --motion-fast:120ms; --motion:200ms; --motion-slow:340ms;
  --ease:cubic-bezier(.2,.7,.3,1);

  /* alvos de toque */
  --tap:44px;        /* alvo recomendado (WCAG 2.5.5 AAA; o mínimo AA 2.5.8 é 24px) */
  --tap-field:56px;  /* alvo de campo (luva/sol) */
}
@media (prefers-reduced-motion: reduce){
  :root{ --motion-fast:0ms; --motion:0ms; --motion-slow:0ms; }
}
