/* ===========================================================================
   imperium-tokens.css — tokens do design system do Imperium

   Três níveis: primitivos (escalas) → semânticos (os únicos que as telas
   usam) → componente (definidos em imperium-componentes.css). O modo escuro
   é a redefinição dos semânticos em [data-bs-theme="dark"]; nenhum
   componente conhece valor de cor.

   Os pares de contraste foram conferidos em AA nos dois temas (ver
   imperium.notas.md). Qualquer troca de valor passa pelo mesmo script.
   =========================================================================== */

@layer base {
    :root {
        /* ---------- Primitivos ---------- */
        --imp-grafite-950: #0c0e10;
        --imp-grafite-900: #141619;
        --imp-grafite-850: #1a1d21;
        --imp-grafite-800: #23262b;
        --imp-grafite-700: #2f333a;
        --imp-grafite-600: #434750;

        --imp-petroleo-800: #174c45;
        --imp-petroleo-700: #1f6359;
        --imp-petroleo-600: #236c63;
        --imp-petroleo-500: #2a7f74;
        --imp-petroleo-400: #3a9d90;
        --imp-petroleo-300: #5cc3b5;

        /* ---------- Tipografia ---------- */
        --imp-fonte: "Segoe UI Variable Text", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
        --imp-fonte-titulo: "Segoe UI Variable Display", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
        --imp-fonte-mono: ui-monospace, "Cascadia Mono", Consolas, "Liberation Mono", monospace;

        --imp-t-1: .75rem;
        --imp-t-2: .8125rem;
        --imp-t-3: .875rem;
        --imp-t-4: .9375rem;
        --imp-t-5: 1.0625rem;
        --imp-t-6: 1.25rem;
        --imp-t-7: 1.5rem;
        --imp-t-8: 1.875rem;

        --imp-peso-normal: 400;
        --imp-peso-medio: 600;
        --imp-peso-forte: 700;

        /* ---------- Espaço, raio, movimento ---------- */
        --imp-e1: 4px;
        --imp-e2: 8px;
        --imp-e3: 12px;
        --imp-e4: 16px;
        --imp-e5: 24px;
        --imp-e6: 32px;
        --imp-e7: 48px;

        --imp-raio-p: 6px;
        --imp-raio: 10px;
        --imp-raio-g: 14px;
        --imp-raio-selo: 4px;
        --imp-raio-pilula: 999px;

        --imp-regua: 3px;

        --imp-mov-rapido: 120ms;
        --imp-mov: 180ms;
        --imp-mov-lento: 240ms;
        --imp-curva: cubic-bezier(.2, .7, .2, 1);

        /* ---------- Estrutura do shell ---------- */
        --imp-lateral: 248px;
        --imp-lateral-trilho: 64px;
        --imp-topo: 56px;

        /* ---------- Densidade de tabela ---------- */
        --imp-celula-y: 9px;
        --imp-celula-x: 12px;

        /* ---------- Camadas ---------- */
        --imp-z-topo: 1020;
        --imp-z-lateral: 1030;
        --imp-z-preloader: 1090;

        /* ---------- Semânticos: claro ---------- */
        --imp-fundo: #f2f2f0;
        --imp-superficie: #ffffff;
        --imp-superficie-2: #f7f7f5;
        --imp-superficie-3: #ededea;
        --imp-fundo-rgb: 242, 242, 240;
        --imp-superficie-rgb: 255, 255, 255;
        --imp-superficie-2-rgb: 247, 247, 245;

        --imp-texto: #1d1f24;
        --imp-texto-2: #575a62;
        --imp-texto-3: #63666e;
        --imp-texto-inverso: #ffffff;
        --imp-texto-rgb: 29, 31, 36;

        --imp-borda: #e3e3df;
        --imp-borda-forte: #d3d3ce;
        --imp-borda-campo: #8f9299;

        --imp-acento: #2a7f74;
        --imp-acento-hover: #236c63;
        --imp-acento-ativo: #1f6359;
        --imp-acento-texto: #1f6359;
        --imp-acento-sutil: #e8f2f0;
        --imp-acento-sutil-forte: #d3e8e4;
        --imp-sobre-acento: #ffffff;
        --imp-acento-rgb: 42, 127, 116;
        --imp-acento-texto-rgb: 31, 99, 89;
        --imp-foco: 0 0 0 3px rgba(42, 127, 116, .32);

        --imp-positivo: #246b4c;
        --imp-positivo-sutil: #e5f2ea;
        --imp-positivo-rgb: 36, 107, 76;
        --imp-positivo-sutil-rgb: 229, 242, 234;

        --imp-atencao: #8a4f0b;
        --imp-atencao-sutil: #fbefdf;
        --imp-atencao-rgb: 138, 79, 11;
        --imp-atencao-sutil-rgb: 251, 239, 223;

        --imp-negativo: #ae3b22;
        --imp-negativo-sutil: #fbeae6;
        --imp-negativo-rgb: 174, 59, 34;
        --imp-negativo-sutil-rgb: 251, 234, 230;

        --imp-info: #2c5a84;
        --imp-info-sutil: #e6eef6;
        --imp-info-rgb: 44, 90, 132;
        --imp-info-sutil-rgb: 230, 238, 246;

        --imp-neutro: #52555d;
        --imp-neutro-sutil: #ececea;
        --imp-neutro-rgb: 82, 85, 93;
        --imp-neutro-sutil-rgb: 236, 236, 234;

        --imp-processo: #4f4c9c;
        --imp-processo-sutil: #eeedf8;
        --imp-processo-rgb: 79, 76, 156;
        --imp-processo-sutil-rgb: 238, 237, 248;

        --imp-perdoado: #9c2f67;
        --imp-perdoado-sutil: #f9e8f1;
        --imp-perdoado-rgb: 156, 47, 103;
        --imp-pendente: #a0480c;
        --imp-pendente-sutil: #fdeee2;
        --imp-pendente-rgb: 160, 72, 12;
        --imp-protestado: #23262b;
        --imp-sobre-protestado: #ffffff;
        --imp-sobre-protestado-rgb: 255, 255, 255;

        --imp-dica-fundo: #23262b;
        --imp-dica-texto: #ffffff;

        --imp-perigo: #ae3b22;
        --imp-perigo-hover: #95311b;
        --imp-perigo-ativo: #822a17;
        --imp-sobre-perigo: #ffffff;

        --imp-shell-fundo: #1a1d21;
        --imp-shell-borda: rgba(255, 255, 255, .07);
        --imp-shell-texto: #ffffff;
        --imp-shell-texto-2: #b4b6b9;
        --imp-shell-texto-3: #8b8e94;
        --imp-shell-hover: rgba(255, 255, 255, .06);
        --imp-shell-ativo: rgba(42, 127, 116, .22);
        --imp-shell-elevado: #24282d;

        --imp-elev-1: 0 1px 2px rgba(20, 22, 25, .06), 0 6px 18px rgba(20, 22, 25, .10);
        --imp-elev-2: 0 2px 6px rgba(20, 22, 25, .08), 0 18px 48px rgba(20, 22, 25, .18);
        --imp-elev-3: 0 4px 12px rgba(20, 22, 25, .12), 0 24px 56px rgba(20, 22, 25, .20);
        --imp-veu: rgba(20, 22, 25, .42);
        --imp-sombra-rolagem: rgba(20, 22, 25, .16);

        --imp-serie-1: #3d4350;
        --imp-serie-2: #a8adb8;
        --imp-serie-3: #2a7f74;
        --imp-serie-4: #8a6d4f;
        --imp-grade: #e3e3df;

        color-scheme: light;
    }

    [data-bs-theme="dark"] {
        --imp-fundo: #111316;
        --imp-superficie: #181b1f;
        --imp-superficie-2: #1e2126;
        --imp-superficie-3: #262a30;
        --imp-fundo-rgb: 17, 19, 22;
        --imp-superficie-rgb: 24, 27, 31;
        --imp-superficie-2-rgb: 30, 33, 38;

        --imp-texto: #e7e8ea;
        --imp-texto-2: #b0b4bb;
        --imp-texto-3: #90959d;
        --imp-texto-inverso: #111316;
        --imp-texto-rgb: 231, 232, 234;

        --imp-borda: #2b2f35;
        --imp-borda-forte: #3a3f46;
        --imp-borda-campo: #6a6f77;

        --imp-acento: #2a7f74;
        --imp-acento-hover: #32897d;
        --imp-acento-ativo: #1f6359;
        --imp-acento-texto: #5cc3b5;
        --imp-acento-sutil: rgba(92, 195, 181, .12);
        --imp-acento-sutil-forte: rgba(92, 195, 181, .2);
        --imp-sobre-acento: #ffffff;
        --imp-acento-texto-rgb: 92, 195, 181;
        --imp-foco: 0 0 0 3px rgba(92, 195, 181, .38);

        --imp-positivo: #6fd3a2;
        --imp-positivo-sutil: #16261e;
        --imp-positivo-rgb: 111, 211, 162;
        --imp-positivo-sutil-rgb: 22, 38, 30;

        --imp-atencao: #ebb06a;
        --imp-atencao-sutil: #2a2116;
        --imp-atencao-rgb: 235, 176, 106;
        --imp-atencao-sutil-rgb: 42, 33, 22;

        --imp-negativo: #f39680;
        --imp-negativo-sutil: #2c1a17;
        --imp-negativo-rgb: 243, 150, 128;
        --imp-negativo-sutil-rgb: 44, 26, 23;

        --imp-info: #8fbbe8;
        --imp-info-sutil: #172230;
        --imp-info-rgb: 143, 187, 232;
        --imp-info-sutil-rgb: 23, 34, 48;

        --imp-neutro: #b0b4bb;
        --imp-neutro-sutil: #24272c;
        --imp-neutro-rgb: 176, 180, 187;
        --imp-neutro-sutil-rgb: 36, 39, 44;

        --imp-processo: #aeabf0;
        --imp-processo-sutil: #201f33;
        --imp-processo-rgb: 174, 171, 240;
        --imp-processo-sutil-rgb: 32, 31, 51;

        --imp-perdoado: #ef9cc6;
        --imp-perdoado-sutil: #2c1824;
        --imp-perdoado-rgb: 239, 156, 198;
        --imp-pendente: #f2a867;
        --imp-pendente-sutil: #2c1e13;
        --imp-pendente-rgb: 242, 168, 103;
        --imp-protestado: #e7e8ea;
        --imp-sobre-protestado: #111316;
        --imp-sobre-protestado-rgb: 17, 19, 22;

        --imp-dica-fundo: #e7e8ea;
        --imp-dica-texto: #111316;

        --imp-shell-fundo: #0c0e10;
        --imp-shell-borda: rgba(255, 255, 255, .06);
        --imp-shell-elevado: #1b1e22;

        --imp-elev-1: 0 1px 2px rgba(0, 0, 0, .4), 0 8px 24px rgba(0, 0, 0, .45);
        --imp-elev-2: 0 2px 8px rgba(0, 0, 0, .5), 0 20px 56px rgba(0, 0, 0, .6);
        --imp-elev-3: 0 4px 12px rgba(0, 0, 0, .5), 0 24px 64px rgba(0, 0, 0, .6);
        --imp-veu: rgba(0, 0, 0, .55);
        --imp-sombra-rolagem: rgba(0, 0, 0, .6);

        --imp-serie-1: #aeb2b9;
        --imp-serie-2: #5d626a;
        --imp-serie-3: #3a9d90;
        --imp-serie-4: #c49a6c;
        --imp-grade: #2b2f35;

        color-scheme: dark;
    }

    [data-densidade="compacta"] {
        --imp-celula-y: 5px;
        --imp-celula-x: 9px;
    }
}
