/* Jurisoft · Laranja & Grafite (ID Visual 2026).
   Brand + functional values are copied from the brand book (p.07, p.12). Values marked "derived"
   are interpolations needed for UI states; they are not in the brand book. */
:root{
  /* — Brand palette (brand book p.07) — */
  --laranja:#EE6B2D;          /* Laranja Jurisoft · ação, destaque, energia */
  --grafite:#14161E;          /* Grafite · autoridade, fundos escuros */
  --laranja-claro:#F59A62;    /* Laranja claro · destaque sobre grafite */
  --nevoa:#F4F5F8;            /* Névoa · fundo calmo das páginas */
  --branco:#FFFFFF;           /* Branco · cards e cabeçalhos */

  /* — Functional (brand book p.07) — */
  --cinza-texto:#5B606C;
  --linha:#E3E5EB;
  --verde:#22A86B;            /* só para status */

  /* — Status tints sampled from "Selo de status" (p.12) — */
  --verde-100:#E6F6EE;
  --verde-200:#BFE7D2;
  --verde-700:#1C7A50;
  --laranja-100:#FDEBDF;
  --laranja-200:#F9D2B7;
  --laranja-250:#F8C9AA;

  /* — Orange ramp — */
  --laranja-50:#FEF5EF;       /* derived */
  --laranja-300:var(--laranja-claro);
  --laranja-500:var(--laranja);
  --laranja-600:#DB5A1E;      /* derived · hover/pressed */
  --laranja-700:#B4461A;      /* derived · small orange text on light (4.6:1 on branco) */

  /* — Neutral ramp (cool, anchored on névoa / linha / cinza texto / grafite) — */
  --neutro-0:var(--branco);
  --neutro-50:var(--nevoa);
  --neutro-100:#ECEEF2;       /* derived */
  --neutro-200:var(--linha);
  --neutro-300:#C9CDD6;       /* derived */
  --neutro-400:#9A9FAB;       /* derived */
  --neutro-500:var(--cinza-texto);
  --neutro-600:#3B3F4B;       /* derived */
  --neutro-700:#2A2D37;       /* derived */
  --neutro-800:#1E2029;       /* rastro start (p.09) */
  --neutro-900:var(--grafite);

  /* — Danger: brand book defines none; borrowed from the "/ news" product tint (p.15) — */
  --vermelho:#C4202B;
  --vermelho-100:#FBE9EA;     /* derived */
  --vermelho-200:#F2C4C7;     /* derived */
  --vermelho-claro:#F27C82;   /* derived · erro sobre grafite (6.4:1) */

  /* — Product tints after the slash (p.15) — */
  --produto-app:var(--laranja);
  --produto-posts:var(--laranja);
  --produto-ads:var(--laranja-claro);
  --produto-news:var(--vermelho);
  --produto-studios:var(--branco);

  /* ===== Semantic aliases ===== */
  --surface-page:var(--nevoa);
  --surface-card:var(--branco);
  --surface-header:var(--branco);
  --surface-sunken:var(--neutro-100);
  --surface-dark:var(--grafite);
  --surface-dark-raised:var(--neutro-800);
  --surface-accent:var(--laranja);
  --surface-overlay:rgba(20,22,30,.56);

  --text-strong:var(--grafite);
  --text-body:var(--grafite);
  --text-muted:var(--cinza-texto);
  --text-subtle:var(--neutro-400);
  --text-accent:var(--laranja);
  --text-accent-small:var(--laranja-700);
  --text-on-dark:var(--nevoa);
  --text-on-dark-muted:#AEB2BD;   /* derived */
  --text-accent-on-dark:var(--laranja-claro);
  --text-on-accent:var(--branco);

  --border-hairline:var(--linha);
  --border-strong:var(--neutro-300);
  --border-on-dark:rgba(244,245,248,.14);
  --border-focus:var(--laranja);
  --focus-ring:0 0 0 3px rgba(238,107,45,.28);

  --action-primary:var(--laranja);
  --action-primary-hover:var(--laranja-600);
  --action-secondary:var(--grafite);
  --action-secondary-hover:var(--neutro-700);

  --status-success-bg:var(--verde-100);
  --status-success-border:var(--verde-200);
  --status-success-fg:var(--verde-700);
  --status-success-solid:var(--verde);
  --status-attention-bg:var(--laranja-100);
  --status-attention-border:var(--laranja-200);
  --status-attention-icon:var(--laranja-250);
  --status-attention-fg:var(--grafite);
  --status-danger-bg:var(--vermelho-100);
  --status-danger-border:var(--vermelho-200);
  --status-danger-fg:var(--vermelho);
  --status-neutral-bg:var(--nevoa);
  --status-neutral-border:var(--linha);
  --status-neutral-fg:var(--cinza-texto);
}
