/* ═══════════════════════════════════════════════════════════════
   UHXI_lab · DESIGN TOKENS (fonte única)            — 26/10/2026
   Camadas: 1) primitivos (cores literais, tipos, escala, raios, sombras)
            2) semânticos de tema (dark por omissão · light · alto contraste)
   Regras: ver DESIGN-LOCK.md. Não editar valores sem aprovação do César.
   ═══════════════════════════════════════════════════════════════ */

/* ── 1. Primitivos ─────────────────────────────────────────────── */
:root{
  /* Cores (valor literal; nome = hex/rgba). Usar através dos semânticos sempre que existam. */
  --c-000000: #000;
  --c-0a1414: #0A1414;
  --c-0a5050: #0A5050;
  --c-0b141a: #0b141a;
  --c-0c1a1b: #0C1A1B;
  --c-0e3a38: #0E3A38;
  --c-0e6e6e: #0E6E6E;
  --c-0f201f: #0F201F;
  --c-1a0c05: #1a0c05;
  --c-1fb8ac: #1FB8AC;
  --c-2ad3c5: #2AD3C5;
  --c-2e6e52: #2E6E52;
  --c-2e7a55: #2E7A55;
  --c-2e7d5b: #2E7D5B;
  --c-2e1509: #2e1509;
  --c-3c8c6e: #3C8C6E;
  --c-3d4a47: #3D4A47;
  --c-5cbd90: #5CBD90;
  --c-5f6b6a: #5F6B6A;
  --c-6fd8a6: #6FD8A6;
  --c-8a5e0a: #8A5E0A;
  --c-9db3ae: #9DB3AE;
  --c-9fe8dd: #9FE8DD;
  --c-57b98c: #57B98C;
  --c-070b10: #070b10;
  --c-245f47: #245F47;
  --c-04100f: #04100F;
  --c-07100f: #07100f;
  --c-51615d: #51615D;
  --c-081112: #081112;
  --c-111716: #111716;
  --c-233230: #233230;
  --c-b0503e: #B0503E;
  --c-b3261e: #B3261E;
  --c-cbddd8: #CBDDD8;
  --c-d64800: #D64800;
  --c-dff6f2: #dff6f2;
  --c-e0b65c: #E0B65C;
  --c-e3f1e8: #E3F1E8;
  --c-e08a7a: #E08A7A;
  --c-e8a660: #E8A660;
  --c-e9f2ef: #E9F2EF;
  --c-eaf4f0: #EAF4F0;
  --c-f3f7f5: #F3F7F5;
  --c-f8e1df: #F8E1DF;
  --c-f2857a: #F2857A;
  --c-f85400: #F85400;
  --c-fde4d6: #FDE4D6;
  --c-ff5a00: #ff5a00;
  --c-ff8a1c: #ff8a1c;
  --c-ffb347: #ffb347;
  --c-ffe9b8: #ffe9b8;
  --c-fff3d6: #fff3d6;
  --c-ffffff: #FFFFFF;
  --c-rgba-0-0-0-0: rgba(0,0,0,0);
  --c-rgba-0-0-0-3: rgba(0,0,0,.3);
  --c-rgba-0-0-0-4: rgba(0,0,0,.4);
  --c-rgba-0-0-0-16: rgba(0,0,0,.16);
  --c-rgba-0-0-0-18: rgba(0,0,0,.18);
  --c-rgba-0-0-0-22: rgba(0,0,0,.22);
  --c-rgba-0-0-0-25: rgba(0,0,0,.25);
  --c-rgba-0-0-0-35: rgba(0,0,0,.35);
  --c-rgba-0-0-0-42: rgba(0,0,0,.42);
  --c-rgba-0-0-0-45: rgba(0,0,0,.45);
  --c-rgba-0-0-0-55: rgba(0,0,0,.55);
  --c-rgba-4-10-10-72: rgba(4,10,10,.72);
  --c-rgba-4-16-15-4: rgba(4,16,15,.4);
  --c-rgba-4-16-15-7: rgba(4,16,15,.7);
  --c-rgba-15-32-31-3: rgba(15,32,31,.3);
  --c-rgba-15-32-31-14: rgba(15,32,31,.14);
  --c-rgba-15-32-31-16: rgba(15,32,31,.16);
  --c-rgba-15-32-31-34: rgba(15,32,31,.34);
  --c-rgba-17-23-22-25: rgba(17,23,22,.25);
  --c-rgba-17-23-22-45: rgba(17,23,22,.45);
  --c-rgba-31-184-172-10: rgba(31,184,172,.10);
  --c-rgba-92-189-144-14: rgba(92,189,144,.14);
  --c-rgba-110-46-10-6: rgba(110,46,10,.6);
  --c-rgba-200-230-255-0: rgba(200,230,255,0);
  --c-rgba-200-230-255-08: rgba(200,230,255,.08);
  --c-rgba-200-230-255-34: rgba(200,230,255,.34);
  --c-rgba-232-166-96-14: rgba(232,166,96,.14);
  --c-rgba-233-242-239-14: rgba(233,242,239,.14);
  --c-rgba-233-242-239-28: rgba(233,242,239,.28);
  --c-rgba-242-133-122-14: rgba(242,133,122,.14);
  --c-rgba-248-84-0-0: rgba(248,84,0,0);
  --c-rgba-248-84-0-16: rgba(248,84,0,.16);
  --c-rgba-248-84-0-55: rgba(248,84,0,.55);
  --c-rgba-255-96-0-0: rgba(255,96,0,0);
  --c-rgba-255-110-0-75: rgba(255,110,0,.75);
  --c-rgba-255-138-24-5: rgba(255,138,24,.5);
  --c-rgba-255-170-60-95: rgba(255,170,60,.95);
  --c-rgba-255-170-70-95: rgba(255,170,70,.95);
  --c-rgba-255-200-120-92: rgba(255,200,120,.92);
  --c-rgba-255-255-255-0: rgba(255,255,255,0);
  --c-rgba-255-255-255-2: rgba(255,255,255,.2);
  --c-rgba-255-255-255-3: rgba(255,255,255,.3);
  --c-rgba-255-255-255-5: rgba(255,255,255,.5);
  --c-rgba-255-255-255-6: rgba(255,255,255,.6);
  --c-rgba-255-255-255-14: rgba(255,255,255,.14);
  --c-rgba-255-255-255-34: rgba(255,255,255,.34);
  --c-rgba-255-255-255-38: rgba(255,255,255,.38);

  /* Tipografia — famílias */
  --font-display: 'Space Grotesk', sans-serif;   /* títulos h1–h3, 500/700 */
  --font-body: 'Inter', system-ui, sans-serif;   /* texto corrido, 400/500/600 */
  --font-body-alt: 'Inter', sans-serif;          /* variante sem system-ui (usada em campos/painéis) */
  --font-mono: 'Space Mono', monospace;          /* eyebrows, rótulos, dados, 400/700 */

  /* Tipografia — tamanhos (r = rem×100, e = em×100, p = px) */
  --fs-r056: .56rem;
  --fs-r058: .58rem;
  --fs-r060: .6rem;
  --fs-r062: .62rem;
  --fs-r064: .64rem;
  --fs-r066: .66rem;
  --fs-r067: .67rem;
  --fs-r068: .68rem;
  --fs-r069: .69rem;
  --fs-r070: .7rem;
  --fs-r071: .71rem;
  --fs-r072: .72rem;
  --fs-r073: .73rem;
  --fs-r074: .74rem;
  --fs-r075: .75rem;
  --fs-r076: .76rem;
  --fs-r078: .78rem;
  --fs-r080: .8rem;
  --fs-r081: .81rem;
  --fs-r082: .82rem;
  --fs-r083: .83rem;
  --fs-r084: .84rem;
  --fs-r085: .85rem;
  --fs-r086: .86rem;
  --fs-r087: .87rem;
  --fs-r088: .88rem;
  --fs-r090: .9rem;
  --fs-r091: .91rem;
  --fs-r092: .92rem;
  --fs-r094: .94rem;
  --fs-r09375: .9375rem;   /* só admin (corpo do painel) */
  --fs-r095: .95rem;
  --fs-r096: .96rem;
  --fs-r100: 1rem;
  --fs-r101: 1.01rem;
  --fs-r102: 1.02rem;
  --fs-r105: 1.05rem;
  --fs-r106: 1.06rem;
  --fs-r108: 1.08rem;
  --fs-r109: 1.09rem;
  --fs-r110: 1.1rem;
  --fs-r112: 1.12rem;
  --fs-r114: 1.14rem;
  --fs-r115: 1.15rem;
  --fs-r118: 1.18rem;
  --fs-r120: 1.2rem;
  --fs-r125: 1.25rem;
  --fs-r130: 1.3rem;
  --fs-r135: 1.35rem;
  --fs-r140: 1.4rem;
  --fs-r150: 1.5rem;
  --fs-r156: 1.56rem;
  --fs-r157: 1.57rem;
  --fs-r160: 1.6rem;
  --fs-r170: 1.7rem;
  --fs-r178: 1.78rem;
  --fs-r180: 1.8rem;
  --fs-r220: 2.2rem;

  /* Espaçamento (px) — usado em gap / padding / margin */
  --sp-1: 1px;
  --sp-2: 2px;
  --sp-3: 3px;
  --sp-4: 4px;
  --sp-5: 5px;
  --sp-6: 6px;
  --sp-7: 7px;
  --sp-8: 8px;
  --sp-9: 9px;
  --sp-10: 10px;
  --sp-11: 11px;
  --sp-12: 12px;
  --sp-13: 13px;
  --sp-14: 14px;
  --sp-15: 15px;
  --sp-16: 16px;
  --sp-18: 18px;
  --sp-20: 20px;
  --sp-22: 22px;
  --sp-24: 24px;
  --sp-26: 26px;
  --sp-28: 28px;
  --sp-30: 30px;
  --sp-32: 32px;
  --sp-34: 34px;
  --sp-36: 36px;
  --sp-38: 38px;
  --sp-40: 40px;
  --sp-44: 44px;
  --sp-46: 46px;
  --sp-48: 48px;
  --sp-54: 54px;
  --sp-56: 56px;
  --sp-60: 60px;
  --sp-64: 64px;
  --sp-70: 70px;
  --sp-72: 72px;
  --sp-74: 74px;
  --sp-90: 90px;
  --sp-96: 96px;

  /* Raios */
  --r-2: 2px; --r-3: 3px; --r-4: 4px; --r-6: 6px; --r-8: 8px; --r-10: 10px; --r-12: 12px;
  --r-pill: 99px;  /* botões, chips */
  --r-round: 50%;  /* pontos, avatares, botões circulares */

  /* Sombras (por ordem de frequência) */
  --sh-1: 0 14px 40px var(--c-rgba-0-0-0-4);
  --sh-2: inset 0 0 0 6px var(--ink), inset 0 0 0 7px var(--line), 0 6px 14px var(--c-rgba-0-0-0-25);
  --sh-3: 0 0 8px var(--acc);
  --sh-4: 0 16px 44px var(--c-rgba-0-0-0-45);
  --sh-5: 0 8px 30px var(--c-rgba-0-0-0-35);
  --sh-6: 0 0 0 12px color-mix(in srgb, var(--acc) 26%, transparent);
  --sh-7: 0 18px 50px var(--c-rgba-0-0-0-45);
  --sh-8: 0 18px 50px var(--c-rgba-0-0-0-35);
  --sh-9: inset 0 0 0 1px var(--acc);
  --sh-10: 0 30px 80px var(--c-rgba-0-0-0-55);
  --sh-11: 0 0 16px color-mix(in srgb,var(--acc) 55%,transparent);
  --sh-12: 0 26px 0 var(--acc);
  --sh-13: 26px 0 0 var(--acc);
  --sh-14: 0 10px 30px var(--c-rgba-0-0-0-25);
  --sh-15: 0 16px 40px var(--c-rgba-0-0-0-35);
  --sh-16: 0 0 0 3px color-mix(in srgb, var(--acc) 22%, transparent);
  --sh-17: -20px 0 60px var(--c-rgba-0-0-0-4);
  --sh-18: 0 18px 44px var(--c-rgba-0-0-0-22);
  --sh-19: 0 18px 44px var(--c-rgba-0-0-0-18);
  --sh-20: -20px 0 60px var(--c-rgba-0-0-0-3);
}

/* ── 2. Semânticos de tema ─────────────────────────────────────── */
/* Escuro (omissão) */
:root{
  --ink: var(--c-081112);
  --ink2: var(--c-0c1a1b);
  --tx: var(--c-e9f2ef);
  --mut: var(--c-9db3ae);
  --acc: var(--c-1fb8ac);
  --acc2: var(--c-5cbd90);
  --line: var(--c-rgba-233-242-239-14);
  --line2: var(--c-rgba-233-242-239-28);
}
/* Claro */
html[data-theme="light"]{
  --ink: var(--c-f3f7f5);
  --ink2: var(--c-ffffff);
  --tx: var(--c-0f201f);
  --mut: var(--c-51615d);
  --acc: var(--c-0e6e6e);
  --acc2: var(--c-3c8c6e);
  --line: var(--c-rgba-15-32-31-16);
  --line2: var(--c-rgba-15-32-31-34);
  --err: var(--c-b0503e);
  --fig-a: var(--c-0e3a38);
  --fig-b: var(--c-eaf4f0);
}
/* Alto contraste (escuro) */
html[data-hc="1"]{
  --tx: var(--c-ffffff);
  --mut: var(--c-cbddd8);
  --line: var(--c-rgba-255-255-255-34);
  --line2: var(--c-rgba-255-255-255-6);
  --acc: var(--c-2ad3c5);
  --acc2: var(--c-6fd8a6);
}
/* Alto contraste (claro) */
html[data-theme="light"][data-hc="1"]{
  --tx: var(--c-04100f);
  --mut: var(--c-233230);
  --line: var(--c-rgba-4-16-15-4);
  --line2: var(--c-rgba-4-16-15-7);
  --acc: var(--c-0a5050);
  --acc2: var(--c-245f47);
}
