/**
 * Design tokens do NexusPRO — Fase 4 da refatoracao de frontend.
 *
 * ADITIVO POR DECISAO (D1 da RECEPCAO_SPEC.md). Este arquivo NAO altera os 17
 * tokens antigos de styles.css:3-23. Os dois conjuntos convivem: o antigo
 * continua servindo Gerente e Admin exatamente como hoje, e o novo (--nx-*)
 * serve o shell do agente. Quando Gerente e Admin forem refatorados, o antigo
 * sai; ate la, mexer nele quebraria telas que nao foram auditadas.
 *
 * Carregar ANTES de styles.css.
 *
 * Escuro sobrio (D9): elevacao por borda, nao por sombra. Sem glow, sem
 * gradiente. A unica sombra do sistema e --nx-shadow-overlay, e existe so para
 * separar camada flutuante do fundo.
 */

:root {
    /* ===================== Superficies ===================== */
    /* Grafite com vies azul, dessaturado. Quatro niveis: o fundo, a moldura
       (sidebar/topbar/cabecalho), o conteudo, e o que flutua. */
    --nx-bg: #101317;
    --nx-surface: #171b21;
    --nx-raised: #1e232a;
    --nx-overlay: #262c35;

    --nx-line: #2b323c;
    --nx-line-strong: #39414d;

    /* ===================== Texto ===================== */
    /*
     * Tres niveis, com uma restricao que NAO e estetica:
     *
     *   --nx-text-2  6.1:1 sobre --nx-raised  → passa AA para texto normal
     *   --nx-text-3  3.5:1 sobre --nx-raised  → SO em rotulo micro caixa-alta
     *
     * --nx-text-3 nunca em texto corrido, valor de campo ou conteudo de
     * celula. Para apoio legivel use --nx-text-2.
     *
     * Isto corrige o --text-muted de hoje (#64748b sobre #1e293b = 3.1:1),
     * que o frontend usa em texto corrido por toda parte.
     */
    --nx-text: #e2e6ec;
    --nx-text-2: #98a2b0;
    --nx-text-3: #6d7784;

    /* ===================== Semanticas ===================== */
    /*
     * ok      venda, WhatsApp, sucesso
     * warn    URA, pausa, atencao
     * danger  recusa, falha, acao destrutiva
     * accent  navegacao, selecao, chamada ativa
     *
     * Cor forte e escassa por decisao: na tela de atendimento o unico destaque
     * saturado e a Margem 40%, que e o numero que fecha venda.
     */
    --nx-accent: #3d7fd6;
    --nx-accent-bg: #17293f;
    --nx-accent-line: #33608f;
    --nx-accent-text: #9cc4f0;

    --nx-ok: #3f9a5c;
    --nx-ok-bg: #152a1e;
    --nx-ok-line: #2e5a3e;
    --nx-ok-text: #7cc496;

    --nx-warn: #bd8a30;
    --nx-warn-bg: #2c2415;
    --nx-warn-line: #5c4a1e;
    --nx-warn-text: #e0bd77;

    --nx-danger: #cb5250;
    --nx-danger-bg: #2e1a1a;
    --nx-danger-line: #5e3232;
    --nx-danger-text: #dd8b89;

    /* ===================== Tipografia ===================== */
    /* Inter ja vem do @import no topo de styles.css. */
    --nx-font: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
    --nx-font-mono: ui-monospace, 'SF Mono', Menlo, Consolas, monospace;

    --nx-fs-micro: 10.5px;
    --nx-fs-xs: 11.5px;
    --nx-fs-sm: 12.5px;
    --nx-fs-base: 13.5px;
    --nx-fs-md: 14.5px;
    --nx-fs-lg: 16px;
    --nx-fs-xl: 19px;
    --nx-fs-2xl: 22px;

    --nx-fw-regular: 400;
    --nx-fw-medium: 500;
    --nx-fw-semibold: 600;

    --nx-lh-tight: 1.25;
    --nx-lh-base: 1.45;

    --nx-ls-label: 0.06em;
    --nx-ls-head: 0.07em;

    /* ===================== Espacamento ===================== */
    /* Base 4. Densidade compacta (D6) — os valores grandes existem para
       respiro entre secoes, nao para preencher card. */
    --nx-sp-1: 4px;
    --nx-sp-2: 8px;
    --nx-sp-3: 12px;
    --nx-sp-4: 16px;
    --nx-sp-5: 20px;
    --nx-sp-6: 24px;
    --nx-sp-8: 32px;

    /* ===================== Raio ===================== */
    --nx-radius-sm: 3px;
    --nx-radius: 5px;
    --nx-radius-lg: 8px;
    --nx-radius-pill: 20px;

    /* ===================== Elevacao ===================== */
    --nx-shadow-overlay: 0 8px 24px rgba(0, 0, 0, 0.45);

    /* ===================== Estados ===================== */
    --nx-focus-ring: 0 0 0 2px var(--nx-accent);
    --nx-focus-offset: 2px;
    --nx-disabled-opacity: 0.45;
    --nx-dur: 120ms;
    --nx-ease: cubic-bezier(0.2, 0, 0.38, 1);

    /* ===================== Camadas ===================== */
    /* Substitui os z-index avulsos (9999 em historico.js:63, 999999 em
       app.js:604). Camada nova entra aqui, nao no arquivo da tela. */
    --nx-z-sticky: 200;
    --nx-z-dropdown: 400;
    --nx-z-overlay: 900;
    --nx-z-toast: 1000;

    /* ===================== Grade ===================== */
    --nx-sidebar-w: 212px;
    --nx-sidebar-w-min: 56px;
    --nx-topbar-h: 46px;
    --nx-rail-w: 302px;
}

/*
 * Reducao de movimento. Vale para o shell do agente inteiro; nao ha animacao
 * essencial ao funcionamento aqui, entao zerar e seguro.
 */
@media (prefers-reduced-motion: reduce) {
    :root {
        --nx-dur: 0ms;
    }
}
