/**
 * JigPhish 2.0 Admin Design System — Design Tokens
 * ============================================================================
 * Direção visual: "Signal & Calibration" (instrumento de precisão de
 * operações de segurança — ver D:\jigphishlab\redesign\visual-direction-dossier.html
 * e D:\jigphishlab\redesign\mockups\Foundations.html para o raciocínio completo).
 *
 * OWNERSHIP — leia antes de tocar em qualquer coisa aqui:
 * ----------------------------------------------------------------------------
 * Este arquivo é o INÍCIO de um sistema novo e isolado — "JigPhish 2.0 Admin
 * Design System" — não uma camada a mais sobre o que já existe.
 *
 *   - NÃO estende jig-platform.css, jig-platform.js, loophish-theme-2025.css,
 *     loophish-modern.css, jigphish360.css, style.min.css ou qualquer outro
 *     arquivo de tema legado. Esses arquivos são consultados só para análise
 *     de compatibilidade funcional (o que uma página faz), nunca como base
 *     visual do que uma página nova deve parecer.
 *   - NÃO é carregado pelo Student Portal. Verificado em 2026-09-06: nenhuma
 *     página classificada como aluno (partials/student_portal_shell.php e
 *     tudo que ele serve) referencia este diretório. Antes de linkar este
 *     arquivo (ou qualquer novo asset global) em uma página, confirme
 *     explicitamente que essa página não é servida ao aluno — ver
 *     D:\jigphishlab\redesign\fronteiras-seguranca.html §07 para a lista
 *     exata de páginas/managers do aluno.
 *   - Todos os tokens usam o prefixo `--jx-` (JigPhish [2.] X) — nunca reusa
 *     `--jp-*` (jig-platform, legado) nem nomes genéricos sem prefixo, para
 *     que nenhuma colisão de cascata com CSS antigo seja sequer possível.
 *   - Prefixo de classe correspondente (quando componentes forem criados):
 *     `.jx-*` (ex.: `.jx-btn`, `.jx-card`) — nunca reusar `.jp-*`/`.j360-*`/
 *     `.cp-*`/`.rex-*`/`.gs-*` (os namespaces do legado auditados em
 *     "Auditoria Jigphish").
 *
 * ESCOPO DESTA FASE (Fase 1 — Design Tokens, PRODUCT_REDESIGN_BRIEF.md §28):
 * ----------------------------------------------------------------------------
 * Só tokens. Nenhuma página de produção referencia este arquivo ainda —
 * migração de página nenhuma acontece nesta fase. Ver DOSSIE_EXECUCAO_JIGPHISH2.md.
 *
 * Mockups são referência de intenção de design, não especificação de pixel
 * imutável — os valores abaixo podem e devem ser ajustados durante a
 * implementação real dos componentes/páginas de referência (proporção,
 * contraste, densidade, acessibilidade) sem que isso signifique abandonar a
 * direção "Signal & Calibration".
 *
 * MODO ESCURO: ainda não desenhado (fora do escopo desta fase — os mockups
 * aprovados até agora só definem a paleta clara). Não fabricar valores de
 * dark mode aqui; quando for desenhado, seguir a mesma estrutura de token
 * (:root claro por padrão, :root[data-theme="dark"] redefinindo os mesmos
 * nomes de variável — nunca introduzir nomes novos só para o modo escuro).
 */

:root {
  /* ---------- Cor: texto & tinta ---------- */
  --jx-ink:            #10152A; /* títulos, texto de maior ênfase (Archivo) */
  --jx-ink-soft:       #333B52; /* corpo de texto padrão (Public Sans) */
  --jx-muted:          #67708A; /* legendas, metadado secundário, placeholders */

  /* ---------- Cor: linhas & superfícies ---------- */
  --jx-line:           #DEE2EA; /* borda padrão (cards, inputs, divisores) */
  --jx-line-strong:    #C3C9D6; /* borda de maior contraste (botão secundário, chips) */
  --jx-bg:             #F1F3F7; /* fundo da área de conteúdo (canvas da página) */
  --jx-surface:        #FFFFFF; /* card, modal, input — superfície "de cima" */
  --jx-surface-2:      #F6F7FA; /* fundo sutilmente rebaixado (header de tabela, hover) */

  /* ---------- Cor: App Shell (único momento de cor "ousada" — ver DNA visual) ---------- */
  --jx-shell-ink:      #0E1524; /* fundo da sidebar — tinta naval escura */
  --jx-shell-ink-2:    #1A2238; /* hover/estado ativo dentro da sidebar */
  --jx-shell-text:     #AEB6CC; /* rótulo de item de menu, estado padrão */
  --jx-shell-text-strong: #FFFFFF; /* rótulo de item de menu ativo */

  /* ---------- Cor: acento "Signal" — interação, nunca decoração ---------- */
  --jx-accent:         #0B6E7F;
  --jx-accent-strong:  #085867; /* hover/pressed do acento */
  --jx-accent-tint:    #E4F2F3; /* fundo tintado (chip ativo, ícone em destaque leve) */
  --jx-accent-ink:     #3FA8B8; /* variante mais clara — usada sobre fundo escuro (--jx-shell-ink) */

  /* ---------- Cor: semântica — distinta do acento por definição ---------- */
  --jx-success:        #3D7A4F;
  --jx-success-tint:   #E7F3EA;
  --jx-warning:        #AD6A0C;
  --jx-warning-tint:   #FCF0DC;
  --jx-danger:         #B23A2E; /* mesmo valor usado como "Critical" na documentação de auditoria — continuidade deliberada */
  --jx-danger-tint:    #FBEAE7;
  --jx-info:           #3B6EA5;
  --jx-info-tint:      #E9F1FA;

  /* ---------- Tipografia ---------- */
  --jx-font-display:   'Archivo', -apple-system, 'Segoe UI', sans-serif; /* só H1/H2/número de destaque */
  --jx-font-ui:        'Public Sans', -apple-system, 'Segoe UI', sans-serif; /* UI/corpo/tabela — padrão */
  --jx-font-mono:      'IBM Plex Mono', ui-monospace, 'SFMono-Regular', Menlo, monospace; /* ids, dados técnicos */

  --jx-text-display-xl: 700 34px/1.15 var(--jx-font-display);
  --jx-text-h1:         700 26px/1.25 var(--jx-font-display);
  --jx-text-h2:         600 19px/1.35 var(--jx-font-display);
  --jx-text-body-lg:    400 16px/1.5  var(--jx-font-ui);
  --jx-text-body:       400 14px/1.45 var(--jx-font-ui);
  --jx-text-body-sm:    400 13px/1.4  var(--jx-font-ui);
  --jx-text-caption:    500 12px/1.35 var(--jx-font-ui);
  --jx-text-label:      700 11px/1.2  var(--jx-font-ui); /* uppercase + letter-spacing aplicados via classe, não aqui */
  --jx-text-mono:       500 13px/1.4  var(--jx-font-mono);

  /* ---------- Espaçamento (escala de 4px) ---------- */
  --jx-space-1:  4px;
  --jx-space-2:  8px;
  --jx-space-3:  12px;
  --jx-space-4:  16px;
  --jx-space-5:  20px;
  --jx-space-6:  24px;
  --jx-space-8:  32px;
  --jx-space-10: 40px;
  --jx-space-14: 56px;
  --jx-space-18: 72px;

  /* ---------- Raio — gasto por papel, nunca uniforme ---------- */
  --jx-radius-xs: 4px;  /* chip, badge, checkbox */
  --jx-radius-sm: 8px;  /* botão, input */
  --jx-radius:    12px; /* card, painel, thumbnail de template */
  --jx-radius-lg: 20px; /* modal, drawer, hero */

  /* ---------- Elevação — só 2 níveis, elevação = empilhamento literal ---------- */
  --jx-shadow-resting:  none; /* card em repouso: só --jx-line, sem sombra */
  --jx-shadow-floating: 0 14px 34px -12px rgba(16, 21, 42, 0.28); /* menu, modal, toast, dropdown */

  /* ---------- Densidade / controles ---------- */
  --jx-control-h:       36px; /* altura de controle padrão (botão, input, select) */
  --jx-control-h-dense: 30px; /* modo denso (barra de ferramentas compacta) */
  --jx-row-h:           44px; /* linha de tabela padrão */
  --jx-row-h-dense:     36px; /* linha de tabela densa */

  /* ---------- Ícone ---------- */
  --jx-icon-size:       20px; /* navegação, ações inline */
  --jx-icon-size-dense: 16px; /* ações de tabela densa */

  /* ---------- Movimento ---------- */
  --jx-motion-fast:  120ms; /* hover, foco */
  --jx-motion-base:  200ms; /* painel, gaveta */
  --jx-motion-ease:  ease-out;

  /* ---------- Layout ---------- */
  --jx-sidebar-w:           264px;
  --jx-sidebar-w-collapsed: 64px;
  --jx-topbar-h:            60px;
  --jx-content-max-w:       1440px; /* largura máxima de conteúdo — não confundir com container-fluid ilimitado do legado */
}

/*
 * Redução de movimento: qualquer componente construído sobre estes tokens
 * deve respeitar prefers-reduced-motion diretamente (zerando duração de
 * transição/animação), não só confiar em --jx-motion-*. Este arquivo não
 * define animação nenhuma por si só — é responsabilidade de cada componente.
 */
