/* ============================================================================
   OFICINA — ponte de tokens
   A Oficina NÃO define identidade própria (cor/tipografia) — consome o
   Impact. Decisão de Wagner, 2026-07-05: Oficina é uma implementação do
   Impact, não um sistema paralelo. Ver design/impact/README.md.

   Importa:
   - impact/tokens/theme-vars.css  (--ink, --paper, --accent, --muted,
     --border, --serif, --sans, --mono)
   - impact/tokens/layout-utils.css (--space-*, --sidebar-width,
     --topbar-height, --radius-interactive, --transition)

   Define apenas o que é genuinamente novo e não existe no Impact:
   - Escala de tamanho de fonte (Impact usa valores ad-hoc, não escala —
     os valores abaixo são os MESMOS já usados em impact.html, só nomeados)
   - Cores de status (sucesso/aviso/erro/info) — Impact não tem, backoffice
     precisa. Tons contidos, não competem com --accent.
   ============================================================================ */

@import url('../../impact/tokens/theme-vars.css');
@import url('../../impact/tokens/layout-utils.css');

:root {
  /* ---- aliases semânticos -> identidade do Impact (sem cor/fonte nova) ---- */
  --bg: var(--paper);
  --surface: var(--paper);
  --text: var(--ink);
  --text-muted: var(--muted);
  --topbar-bg: var(--paper);
  --color-primary: var(--accent);
  --color-primary-dark: var(--accent);
  --font-family-sans: var(--sans);
  --font-family-mono: var(--mono);

  /* Sidebar — --ink como fundo (o próprio tom, invertido), não uma cor nova */
  --sidebar-bg: var(--paper);
  --sidebar-text: var(--muted);
  --sidebar-active: #ffffff;
  --sidebar-active-bg: var(--accent);
  --sidebar-hover: var(--paper-hover);

  /* ---- escala de tamanho — valores já usados em impact.html, só nomeados ---- */
  --font-size-xs: 0.72rem;
  --font-size-sm: 0.82rem;
  --font-size-base: 0.95rem;
  --font-size-lg: 1.05rem;
  --font-size-2xl: 1.5rem;
  --font-size-3xl: 1.9rem;

  /* ---- raio e sombra — Impact é reto/sem sombra; só o mínimo pra inputs/
     botões não parecerem quebrados (decisão explícita, não omissão) ---- */
  --radius-full: 9999px;
  --radius-lg: var(--radius-interactive);
  --radius-md: var(--radius-interactive);
  --radius-xl: 0;
  --shadow-sm: none;
  --transition-base: var(--transition);

  /* ---- cores de status — Impact não define, backoffice precisa.
     Tons contidos, não competem com --accent (vermelho-tijolo). ---- */
  --color-success: #4a7c59;
  --color-success-dark: #325a3d;
  --color-success-light: #e3ecdf;
  --color-warning: #b8873b;
  --color-warning-dark: #8f6526;
  --color-warning-light: #f2e8d6;
  --color-danger: #a13a2e;
  --color-danger-dark: #7c2c22;
  --color-danger-light: #f0ddd8;
  --color-info: #4a6b7c;
  --color-info-light: #dde6ea;

  /* Neutros de apoio (badge neutro, rótulo de seção da sidebar) —
     derivados de --border/--muted, não uma escala de cinza nova */
  --color-gray-100: var(--border);
  --color-gray-400: rgba(245, 240, 232, .5);
  --color-gray-500: rgba(245, 240, 232, .5);
  --color-gray-600: var(--muted);
}
