/* Portí Design System v2 — tokens. Fonte: brandbook oficial (Minerva Comunica, 2026) + derivados de interface.
   Fonte da verdade: /home/deploy/porti-ui/tokens.css. Não editar cópias nos projetos; rodar o script de sync. */
:root {
  /* ---- primárias (brandbook) ---- */
  --porti-indigo:         #551388;   /* Índigo · cor central da marca · Pantone 2597 C */
  --porti-roxo-vibrante:  #6007C1;   /* Roxo Vibrante · pontos de atenção · Pantone 2091 C */
  --porti-preto-frio:     #09030D;   /* Preto frio · texto e fundos escuros */
  --porti-cinza:          #D5D2D8;   /* Cinza · bordas, neutros, símbolo sobre roxo */
  /* ---- complementares (brandbook) ---- */
  --porti-roxo-900: #1E0C29; --porti-roxo-800: #491A6E; --porti-roxo-600: #6210A7;
  --porti-roxo-500: #7B40BF; --porti-roxo-400: #976FC7; --porti-roxo-300: #B4A0CD;
  /* ---- papéis ---- */
  --porti-brand:          var(--porti-indigo);          /* logo, títulos de marca, capas */
  --porti-action:         var(--porti-roxo-vibrante);   /* botões, links, foco */
  --porti-action-hover:   var(--porti-roxo-600);
  --porti-brand-hover:    var(--porti-roxo-800);
  --porti-accent-soft:    rgba(96,7,193,0.08);
  --porti-focus:          rgba(96,7,193,0.35);
  /* ---- neutros de interface (derivados, família fria do cinza/preto frio) ---- */
  --porti-bg:             #F7F6F9;
  --porti-surface:        #FFFFFF;
  --porti-surface-alt:    #EDEBF0;
  --porti-border:         var(--porti-cinza);
  --porti-border-strong:  #B9B5C0;
  --porti-text:           var(--porti-preto-frio);
  --porti-text-2:         #4B4552;
  --porti-text-3:         #8A8593;
  /* ---- estados (derivados) ---- */
  --porti-success: #16a34a; --porti-warning: #d97706; --porti-error: #dc2626; --porti-info: #0284c7;
  /* ---- sidebar ---- */
  --porti-sidebar:        var(--porti-roxo-900);
  --porti-sidebar-text:   rgba(255,255,255,0.6);
  --porti-nav-active-bg:  rgba(151,111,199,0.2);
  --porti-nav-active-fg:  var(--porti-cinza);
  --porti-nav-active-line:var(--porti-roxo-500);
  /* ---- tipografia (brandbook: Goodly títulos, Nata Sans texto; mono é derivado) ---- */
  --porti-display: "Goodly", "Nata Sans", system-ui, sans-serif;
  --porti-sans:    "Nata Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
  --porti-mono:    "JetBrains Mono", "Fira Code", "Courier New", monospace;
  --porti-weight-title: 700; --porti-weight-subtitle: 500; --porti-weight-body: 400; --porti-weight-small: 300;
  /* ---- forma (derivado) ---- */
  --porti-radius-sm: 8px; --porti-radius-md: 12px; --porti-radius-lg: 20px; --porti-radius-pill: 9999px;
  --porti-shadow-float: 0 10px 24px rgba(9,3,13,0.05);
  --porti-shadow-hover: 0 0 0 1px rgba(96,7,193,0.08), 0 4px 20px rgba(96,7,193,0.08);
  /* ---- espaçamento (derivado) ---- */
  --porti-sp-1: 4px; --porti-sp-2: 8px; --porti-sp-3: 12px; --porti-sp-4: 16px; --porti-sp-6: 24px; --porti-sp-8: 32px; --porti-sp-12: 48px;
  /* ---- compatibilidade v1 (evitar em código novo) ---- */
  --porti-off-white: var(--porti-bg); --porti-graphite: var(--porti-text); --porti-slate: var(--porti-text-2); --porti-muted: var(--porti-text-3);
  --porti-indigo-light: var(--porti-roxo-500); --porti-purple: var(--porti-indigo);
}
/* tema escuro: preto frio como base, roxo 900 como superfície */
.dark, [data-theme="dark"] {
  --porti-bg:            var(--porti-preto-frio);
  --porti-surface:       var(--porti-roxo-900);
  --porti-surface-alt:   #2A153F;
  --porti-border:        rgba(255,255,255,0.10);
  --porti-border-strong: rgba(255,255,255,0.20);
  --porti-text:          #EDEBF0;
  --porti-text-2:        var(--porti-roxo-300);
  --porti-action:        var(--porti-roxo-400);
  --porti-action-hover:  var(--porti-roxo-500);
  --porti-accent-soft:   rgba(151,111,199,0.18);
  --porti-shadow-float:  none;
}
