/* =============================================================
   DASHBOARD MAJU - TOKENS
   Fonte unica. Nenhuma tela redefine token; todas importam este arquivo.
   Herdado do design system Sinapse (mesma familia visual).
   ============================================================= */
:root{
  color-scheme: light;

  /* - Superficies - */
  --bg:#FAFAFA;
  --bg-deep:#F4F4F5;
  --surface:#FFFFFF;
  --surface-2:#F7F7F8;
  --surface-3:#EFEFF1;
  --surface-inset:#F4F4F5;
  --overlay:rgba(10,10,11,.45);

  /* - Texto - */
  --ink:#101014;
  --ink-2:#3F3F46;
  --muted:#71717A;
  --faint:#A1A1AA;
  --on-accent:#FFFFFF;

  /* - Linhas hairline 1px - */
  --line:#E7E7EA;
  --line-2:#DCDCE0;
  --line-strong:#C9C9CF;

  /* - Acento: violeta eletrico - */
  --accent:#6D5EF8;
  --accent-hover:#5C4CE8;
  --accent-press:#4B3BD6;
  --accent-ink:#4B3BD6;
  --accent-soft:#EFEDFE;
  --accent-line:#D6D1FD;

  /* - Ciano: 2a cor do gradiente de IA - */
  --cyan:#22D3EE;
  --cyan-ink:#0E7490;
  --cyan-soft:#E4FAFE;

  /* - Coral: 3a cor, calor discreto - */
  --coral:#D97757;
  --coral-ink:#B85C3E;
  --coral-soft:#FDF0EA;

  /* - Semanticas - */
  --ok:#15925B;    --ok-soft:#E6F6EE;    --ok-line:#B9E5CE;
  --warn:#B45309;  --warn-soft:#FDF3E3;  --warn-line:#F0D9AE;
  --danger:#DC2626;--danger-soft:#FDECEC;--danger-line:#F6C9C9;
  --info:#2563EB;  --info-soft:#E9F0FE;  --info-line:#C5D8FB;

  /* - Dataviz: paleta categorica fixa -
     Independente do acento (theme.js gira o acento em runtime; grafico nao pode girar junto).
     Ordem dos slots e mecanismo de seguranca CVD: validada nos dois temas contra as superficies
     reais (claro #FFFFFF, escuro #151517). Nunca reordenar sem revalidar.
     Slots 4 e 5 ficam abaixo de 3:1 no claro: exigem rotulo direto ou tabela de apoio. */
  --viz-1:#2A78D6; --viz-2:#EB6834; --viz-3:#1BAF7A; --viz-4:#EDA100;
  --viz-5:#E87BA4; --viz-6:#008300; --viz-7:#4A3AA7; --viz-8:#E34948;
  --viz-other:#85858F;
  --viz-grid:var(--line); --viz-axis:var(--line-2); --viz-label:var(--muted);

  /* - Dataviz: par divergente (variacao vs periodo anterior; sempre com seta ou sinal) - */
  --viz-pos:#0B7A4F; --viz-neg:#D03B3B; --viz-flat:#71717A;

  /* - Dataviz: escala sequencial azul (claro = pouco, escuro = muito) - */
  --viz-seq-1:#CDE2FB; --viz-seq-2:#9EC5F4; --viz-seq-3:#5598E7; --viz-seq-4:#2A78D6; --viz-seq-5:#184F95;

  /* - Status de pedido WooCommerce (7 estados; estado nunca so por cor) - */
  --st-pending:var(--warn);       --st-pending-soft:var(--warn-soft);       --st-pending-line:var(--warn-line);
  --st-processing:var(--info);    --st-processing-soft:var(--info-soft);    --st-processing-line:var(--info-line);
  --st-onhold:#B85C3E;            --st-onhold-soft:#FDF0EA;                 --st-onhold-line:#F2CDBB;
  --st-completed:var(--ok);       --st-completed-soft:var(--ok-soft);       --st-completed-line:var(--ok-line);
  --st-cancelled:#71717A;         --st-cancelled-soft:#F1F1F3;              --st-cancelled-line:#DCDCE0;
  --st-refunded:#0E7490;          --st-refunded-soft:#E4FAFE;               --st-refunded-line:#B5ECF7;
  --st-failed:var(--danger);      --st-failed-soft:var(--danger-soft);      --st-failed-line:var(--danger-line);

  /* - Overlay sobre foto: texto/chip que fica sobre uma imagem com scrim
     escuro (ex.: card de produto). Valor fixo, nao reage ao tema da pagina
     porque o scrim por baixo e sempre escuro nos dois temas. - */
  --on-photo:#FFFFFF;
  --on-photo-muted:rgba(255,255,255,.74);
  --glass-bg:rgba(12,12,16,.44);
  --glass-border:rgba(255,255,255,.16);
  --glass-ok:#4ADE80;
  --glass-warn:#FBBF24;
  --glass-danger:#F87171;

  /* - Gradientes - */
  --grad-ai:linear-gradient(118deg,#6D5EF8 0%,#22D3EE 100%);
  --grad-ai-soft:linear-gradient(118deg,rgba(109,94,248,.15) 0%,rgba(34,211,238,.15) 100%);
  --grad-warm:linear-gradient(118deg,#6D5EF8 0%,#D97757 100%);
  --grad-pink:linear-gradient(118deg,#0B398C 0%,#BB366F 100%);
  --grad-poster:linear-gradient(152deg,#2A2440 0%,#16162A 55%,#0F1420 100%);
  --grad-veil:linear-gradient(180deg,rgba(8,8,10,0) 0%,rgba(8,8,10,.68) 58%,rgba(8,8,10,.94) 100%);

  /* - Malha tecnica / textura - */
  --mesh-line:rgba(16,16,20,.055);
  --mesh-size:32px;
  --grain-op:.035;

  /* - Elevacao - */
  --sh-1:0 1px 2px rgba(16,16,20,.05);
  --sh-2:0 1px 2px rgba(16,16,20,.04),0 6px 16px -8px rgba(16,16,20,.14);
  --sh-3:0 2px 4px rgba(16,16,20,.04),0 18px 40px -18px rgba(16,16,20,.22);
  --sh-4:0 30px 70px -28px rgba(16,16,20,.32);
  --glow:0 0 0 1px rgba(109,94,248,.28),0 10px 34px -10px rgba(109,94,248,.42);
  --glow-soft:0 8px 26px -12px rgba(109,94,248,.4);

  /* - Raio - */
  --r-xs:6px; --r-sm:9px; --r-md:11px; --r-lg:14px; --r-xl:20px; --r-2xl:26px; --r-full:999px;

  /* - Tipografia - */
  --font-sans:'Inter','SF Pro Text',system-ui,-apple-system,sans-serif;
  --font-mono:'JetBrains Mono','SF Mono',ui-monospace,SFMono-Regular,monospace;
  --fs-11:11px; --fs-12:12px; --fs-13:13px; --fs-14:14px; --fs-16:16px;
  --fs-18:18px; --fs-21:21px; --fs-25:25px; --fs-31:31px; --fs-40:40px; --fs-52:52px;
  --lh-tight:1.14; --lh-snug:1.34; --lh-base:1.6;
  --ls-tight:-.022em; --ls-snug:-.012em; --ls-wide:.02em; --ls-caps:.13em;

  /* - Espacamento base 4 - */
  --s-1:4px; --s-2:8px; --s-3:12px; --s-4:16px; --s-5:20px; --s-6:24px;
  --s-8:32px; --s-10:40px; --s-12:48px; --s-16:64px; --s-20:80px; --s-24:96px;

  /* - Motion - */
  --e-out:cubic-bezier(.22,.68,.16,1);
  --e-inout:cubic-bezier(.65,0,.35,1);
  --e-spring:cubic-bezier(.34,1.46,.44,1);
  --t-fast:120ms; --t-base:200ms; --t-slow:340ms; --t-slower:620ms;

  /* - Foco - */
  --focus:0 0 0 2px var(--bg),0 0 0 4px var(--accent);

  /* - Layout - */
  --rail:250px; --rail-folded:72px; --topbar-h:60px; --max:1240px;
}

[data-theme="dark"]{
  color-scheme: dark;

  --bg:#0A0A0B;
  --bg-deep:#060607;
  --surface:#151517;
  --surface-2:#1B1B1F;
  --surface-3:#232329;
  --surface-inset:#101012;
  --overlay:rgba(0,0,0,.62);

  --ink:#FAFAFA;
  --ink-2:#E4E4E7;
  --muted:#A1A1AA;
  --faint:#71717A;
  --on-accent:#FFFFFF;

  --line:rgba(255,255,255,.08);
  --line-2:rgba(255,255,255,.12);
  --line-strong:rgba(255,255,255,.20);

  --accent:#7F70FF;
  --accent-hover:#9186FF;
  --accent-press:#6D5EF8;
  --accent-ink:#B3A9FF;
  --accent-soft:rgba(127,112,255,.15);
  --accent-line:rgba(127,112,255,.34);

  --cyan:#3DDCF4; --cyan-ink:#7CE7F8; --cyan-soft:rgba(61,220,244,.13);
  --coral:#E68A67; --coral-ink:#F0A588; --coral-soft:rgba(230,138,103,.14);

  --ok:#3DD68C;    --ok-soft:rgba(61,214,140,.13);   --ok-line:rgba(61,214,140,.30);
  --warn:#F0B357;  --warn-soft:rgba(240,179,87,.13); --warn-line:rgba(240,179,87,.30);
  --danger:#F87171;--danger-soft:rgba(248,113,113,.13);--danger-line:rgba(248,113,113,.30);
  --info:#7AA5FB;  --info-soft:rgba(122,165,251,.13);--info-line:rgba(122,165,251,.30);

  /* - Dataviz (tema escuro: mesmos matizes, degraus escolhidos para #151517) - */
  --viz-1:#3987E5; --viz-2:#D95926; --viz-3:#199E70; --viz-4:#C98500;
  --viz-5:#D55181; --viz-6:#008300; --viz-7:#9085E9; --viz-8:#E66767;
  --viz-other:#8B8B96;
  --viz-grid:var(--line); --viz-axis:var(--line-2); --viz-label:var(--muted);
  --viz-pos:#3DD68C; --viz-neg:#F87171; --viz-flat:#A1A1AA;
  --viz-seq-1:#1C3A5E; --viz-seq-2:#1C5CAB; --viz-seq-3:#2A78D6; --viz-seq-4:#5598E7; --viz-seq-5:#9EC5F4;

  /* - Status de pedido - */
  --st-pending:var(--warn);       --st-pending-soft:var(--warn-soft);       --st-pending-line:var(--warn-line);
  --st-processing:var(--info);    --st-processing-soft:var(--info-soft);    --st-processing-line:var(--info-line);
  --st-onhold:#F0A588;            --st-onhold-soft:rgba(230,138,103,.14);   --st-onhold-line:rgba(230,138,103,.32);
  --st-completed:var(--ok);       --st-completed-soft:var(--ok-soft);       --st-completed-line:var(--ok-line);
  --st-cancelled:#A1A1AA;         --st-cancelled-soft:rgba(161,161,170,.13);--st-cancelled-line:rgba(161,161,170,.30);
  --st-refunded:#3DDCF4;          --st-refunded-soft:rgba(61,220,244,.13);  --st-refunded-line:rgba(61,220,244,.30);
  --st-failed:var(--danger);      --st-failed-soft:var(--danger-soft);      --st-failed-line:var(--danger-line);

  --grad-ai:linear-gradient(118deg,#7F70FF 0%,#3DDCF4 100%);
  --grad-ai-soft:linear-gradient(118deg,rgba(127,112,255,.22) 0%,rgba(61,220,244,.16) 100%);
  --grad-warm:linear-gradient(118deg,#7F70FF 0%,#E68A67 100%);
  --grad-pink:linear-gradient(118deg,#0B398C 0%,#BB366F 100%);
  --grad-poster:linear-gradient(152deg,#241F3C 0%,#131324 55%,#0B0F19 100%);
  --grad-veil:linear-gradient(180deg,rgba(6,6,7,0) 0%,rgba(6,6,7,.74) 58%,rgba(6,6,7,.96) 100%);

  --mesh-line:rgba(255,255,255,.055);
  --grain-op:.05;

  --sh-1:0 1px 2px rgba(0,0,0,.5);
  --sh-2:0 1px 2px rgba(0,0,0,.5),0 6px 18px -8px rgba(0,0,0,.7);
  --sh-3:0 2px 6px rgba(0,0,0,.5),0 20px 44px -20px rgba(0,0,0,.85);
  --sh-4:0 34px 76px -30px rgba(0,0,0,.95);
  --glow:0 0 0 1px rgba(127,112,255,.42),0 12px 40px -10px rgba(127,112,255,.5);
  --glow-soft:0 10px 32px -14px rgba(127,112,255,.6);
}
