/* ==========================================================================
   design_tokens.css — Design System CIPA NR-05 / Nora AI (Fase 11/P1)
   Fonte única de verdade para cor, espaçamento, raio, sombra, tipografia e
   duração de transição. Carregado ANTES de app.css/assistant.css/landing.css/
   ux_premium.css/assistant_copilot.css/auth-login.css em base.html e
   base/auth_base.html — os demais arquivos passam a consumir estes tokens
   (diretamente ou re-exportando seus próprios nomes de variável já testados,
   ex.: --nora-accent, --brand-primary, --ux-radius-md) em vez de duplicar
   valores hex independentes. Nenhum valor abaixo foi inventado: cada um é o
   valor real já em uso em algum lugar do projeto (auditoria Fase 11/P1),
   apenas centralizado para eliminar duplicação silenciosa.
   ========================================================================== */

:root {
  /* ---- Marca (navy + accent) ---- */
  --ds-navy-900: #0a1628;
  --ds-navy-700: #1a3a6b;
  --ds-blue-600: #0d6efd;
  --ds-blue-400: #60a5fa;
  --ds-green-600: #198754;

  /* ---- Slate (sidebar / neutros de shell) ---- */
  --ds-slate-950: #0f172a;
  --ds-slate-900: #111827;
  --ds-slate-800: #1e293b;
  --ds-slate-600: #334155;
  --ds-slate-500: #475569;
  --ds-slate-400: #94a3b8;
  --ds-slate-200: #e2e8f0;
  --ds-slate-100: #f1f5f9;
  --ds-slate-050: #f8f9fa;

  /* ---- Paleta semântica "soft" (fundo claro + texto forte da mesma família) ----
     Usada por badges de status, KPIs e chips em toda a aplicação — 1 única
     definição, consumida por app-badge-*, app-kpi-*, badge-reuniao-*,
     badge-membro-* e futuros componentes, em vez de repetida 3x. */
  --ds-soft-blue-bg: #dbeafe;    --ds-soft-blue-fg: #1d4ed8;    --ds-soft-blue-border: #bfdbfe;
  --ds-soft-indigo-bg: #e0e7ff; --ds-soft-indigo-fg: #4338ca; --ds-soft-indigo-border: #c7d2fe;
  --ds-soft-green-bg: #dcfce7;  --ds-soft-green-fg: #15803d;  --ds-soft-green-border: #bbf7d0;
  --ds-soft-teal-bg: #ccfbf1;   --ds-soft-teal-fg: #0f766e;   --ds-soft-teal-border: #99f6e4;
  --ds-soft-amber-bg: #fef3c7;  --ds-soft-amber-fg: #b45309;  --ds-soft-amber-border: #fde68a;
  --ds-soft-red-bg: #fee2e2;    --ds-soft-red-fg: #b91c1c;    --ds-soft-red-border: #fca5a5;
  --ds-soft-purple-bg: #ede9fe; --ds-soft-purple-fg: #6d28d9; --ds-soft-purple-border: #ddd6fe;
  --ds-soft-gray-bg: #f1f5f9;   --ds-soft-gray-fg: #475569;   --ds-soft-gray-border: #e2e8f0;

  /* ---- Texto neutro (fora do shell escuro) ---- */
  --ds-text-muted: #6c757d;

  /* ---- Raio ---- */
  --ds-radius-sm: 6px;
  --ds-radius-md: 10px;
  --ds-radius-lg: 16px;

  /* ---- Sombra ---- */
  --ds-shadow-card: 0 2px 8px rgba(0,0,0,.06);
  --ds-shadow-hover: 0 6px 24px rgba(99,102,241,.14);

  /* ---- Transição ---- */
  --ds-transition-fast: 150ms ease;
  --ds-transition-std: 220ms ease;
  --ds-transition-slow: 350ms ease;

  /* ---- Espaçamento (escala 4px) ---- */
  --ds-space-1: 4px;
  --ds-space-2: 8px;
  --ds-space-3: 12px;
  --ds-space-4: 16px;
  --ds-space-5: 20px;
  --ds-space-6: 24px;
  --ds-space-8: 32px;

  /* ---- Tipografia ---- */
  --ds-font-body: -apple-system, "Segoe UI", Roboto, system-ui, sans-serif;
  --ds-font-mono: ui-monospace, Consolas, monospace;
}

/* =========================================================================
   ACESSIBILIDADE — foco visível (Fase 11/P7)
   Auditoria encontrou ZERO regras :focus em todo o CSS do projeto (app.css,
   assistant.css, ux_premium.css) — navegação por teclado dependia só do
   outline padrão do navegador, que o Bootstrap às vezes reduz/remove sem
   substituto. Uma única regra global aqui (carregada em toda página antes
   de tudo) cobre TODO elemento focável, sem precisar tocar cada componente.
   :focus-visible (não :focus puro) evita o anel aparecer em cliques de
   mouse — só teclado/leitor de tela, comportamento nativo esperado.
   ========================================================================= */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible {
  outline: 2px solid var(--ds-blue-600, #0d6efd) !important;
  outline-offset: 2px !important;
}

/* =========================================================================
   ACESSIBILIDADE — skip link (Fase 12/P5)
   Auditoria encontrou 0 ocorrências de "pular para o conteúdo" em todo o
   projeto — quem navega só por teclado precisava tabular pelo menu lateral
   inteiro (~15 links) em toda página antes de chegar ao conteúdo. Padrão
   nativo: invisível até receber foco via Tab (primeiro elemento focável
   do body), então aparece fixo no topo.
   ========================================================================= */
.app-skip-link {
  position: absolute !important;
  top: -48px !important;
  left: 8px !important;
  z-index: 2000 !important;
  background: var(--ds-navy-900, #0f172a) !important;
  color: #ffffff !important;
  padding: 10px 18px !important;
  border-radius: 8px !important;
  font-size: 0.85rem !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: top 0.15s ease !important;
}
.app-skip-link:focus {
  top: 8px !important;
}
