/* tokens.css — derivados de interface do MISyst. Nenhum valor de marca é escrito aqui:
   cores oficiais vêm de marca.css (var(--mitsidi-*)). Cada derivado anota a origem e, quando é
   cor de texto, a razão de contraste calculada (tests/test_design_system.py confere). */

:root {
  /* ── Navegação lateral — mesmos valores do MOSyst (templates/base/menu.html) ── */
  --ms-sidebar-bg: #262C35;          /* menu.html:115 */
  --ms-sidebar-hover: #333A45;       /* menu.html:191 */
  --ms-sidebar-text: #C7D0D9;        /* menu.html:150 — 9,00:1 sobre o fundo */
  --ms-sidebar-text-strong: #DCE3EA; /* menu.html:253 — 10,86:1 */
  --ms-sidebar-section: var(--mitsidi-teal);  /* menu.html:239 — 6,83:1 */
  --ms-sidebar-active-marker: var(--mitsidi-amarelo); /* menu.html:204 */

  /* ── Ação primária ──
     Texto branco sobre --mitsidi-azul dá 2,49:1 e --mitsidi-azul-escuro 3,47:1, abaixo de
     4,5:1 para texto de botão. Derivados mais escuros do mesmo matiz (Pantone 3125):  */
  --ms-primary: #007f94;            /* branco sobre ele: 4,70:1 */
  --ms-primary-hover: #006d80;      /* branco sobre ele: 6,00:1 */
  --ms-link: #007f94;               /* sobre branco: 4,70:1 */
  --ms-link-hover: #006d80;
  --ms-on-primary: #ffffff;

  /* ── Texto e superfícies ── */
  --ms-text: var(--mitsidi-cinza);               /* 10,36:1 sobre branco */
  --ms-text-muted: #5F6A70;                      /* MOSyst ui-operacional.css: 5,55:1 */
  --ms-surface: #ffffff;
  --ms-surface-muted: var(--mitsidi-fundo-claro);
  --ms-surface-alt: var(--mitsidi-fundo-alternado);
  --ms-border: var(--mitsidi-borda);
  --ms-border-strong: #c9d2d6;
  --ms-hover: var(--mitsidi-azul-tenue);
  --ms-focus-ring: var(--mitsidi-foco);
  --ms-focus-outline: var(--ms-primary);
  --ms-gradient: linear-gradient(90deg, var(--mitsidi-teal) 0%, var(--mitsidi-azul) 100%);

  /* ── Estados (fundo tingido + texto escuro; contraste ≥ 5:1 verificado) ── */
  --ms-info-bg: #e6f7fa;    --ms-info-text: #006d80;    /* 5,44:1 */
  --ms-success-bg: #e6f4ea; --ms-success-text: #1d6b3a; /* 5,75:1 */
  --ms-warning-bg: #fff3cc; --ms-warning-text: #7a5c00; /* 5,64:1 — MOSyst --mosyst-color-on-attention */
  --ms-danger-bg: #fdece6;  --ms-danger-text: #a33100;  /* 6,11:1 — matiz de --mitsidi-op-vermelho */
  --ms-neutral-bg: var(--mitsidi-fundo-alternado); --ms-neutral-text: var(--mitsidi-cinza);

  /* ── Tipografia (escala MOSyst ui-operacional.css) ── */
  --ms-font: var(--mitsidi-fonte);
  --ms-font-xs: .75rem;
  --ms-font-sm: .8125rem;
  --ms-font-md: .9375rem;
  --ms-font-lg: 1.125rem;
  --ms-font-xl: 1.5rem;
  --ms-font-2xl: 2rem;

  /* ── Espaço (base 4 px, MOSyst ui-operacional.css) ── */
  --ms-space-1: .25rem; --ms-space-2: .5rem; --ms-space-3: .75rem;
  --ms-space-4: 1rem;   --ms-space-5: 1.5rem; --ms-space-6: 2rem; --ms-space-7: 3rem;

  --ms-radius-sm: 6px;
  --ms-radius-md: 10px;
  --ms-radius-lg: 14px;
  --ms-shadow-sm: 0 1px 3px rgba(64, 64, 65, .08);   /* MOSyst --mosyst-shadow-subtle */
  --ms-shadow-md: 0 2px 10px rgba(64, 64, 65, .06);  /* MOSyst auth.css */
  --ms-shadow-lg: 0 12px 32px rgba(38, 44, 53, .18);

  --ms-sidebar-width: 264px;
  --ms-topbar-height: 64px;
  --ms-content-max: 1440px;
}
