/* Tokens do design system do ERP.
   Vem antes de app.css: é a única fonte de verdade de cor, medida e raio.
   Mudar aqui muda o sistema inteiro; mudar em outro lugar cria exceção.

   A regra que governa tudo: cor só aparece quando informa. Verde é positivo,
   âmbar é atenção, vermelho é problema, azul é ação ou seleção. Nada de cor
   decorativa. */

/* A Inter é servida daqui, não do Google: a CSP fecha em 'self' e abrir
   exceção para uma fonte não se justifica. 48 KB, variável, subconjunto
   latino, licença SIL OFL. */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('/vendor/inter/inter-latin-variavel.woff2') format('woff2');
}

:root {
  /* ─── Marca e ação ─────────────────────────────────── */
  --brand:            #1B6EF3;
  --brand-hover:      #1558CC;
  --brand-active:     #1247A8;
  --brand-soft:       #EAF2FE;
  --brand-soft-2:     #D6E6FD;
  --brand-border:     #BBD5FC;

  /* ─── Superfícies ──────────────────────────────────── */
  --bg:               #F5F7FA;
  --surface:          #FFFFFF;
  --surface-2:        #FAFBFD;
  --surface-3:        #F0F3F7;

  /* ─── Traços ───────────────────────────────────────── */
  --border:           #E6EAF0;
  --border-strong:    #D5DBE5;
  --border-focus:     var(--brand);

  /* ─── Texto ────────────────────────────────────────── */
  --text:             #111C2E;
  --text-2:           #56617A;
  /* 4,6:1 sobre branco. O #8A93A5 do guia dá 3,09 e reprova na WCAG AA — e é
     justamente o tom de rótulo e legenda, onde a vista cansada mais precisa
     de ajuda. */
  --text-3:           #6E7789;
  --text-invert:      #FFFFFF;

  /* ─── Semântica ────────────────────────────────────── */
  --ok:               #16A34A;   --ok-soft:      #E7F6EC;  --ok-border:    #B6E3C5;
  --warn:             #D98207;   --warn-soft:    #FDF3E2;  --warn-border:  #F5D9A3;
  --danger:           #DC2626;   --danger-soft:  #FCECEB;  --danger-border:#F5C2C0;
  --info:             #0E8FA8;   --info-soft:    #E4F5F8;  --info-border:  #A9DDE7;
  --accent:           #7C5CE0;   --accent-soft:  #F1EDFD;  --accent-border:#D3C6F7;

  /* Texto sobre os fundos suaves: a cor "cheia" não tem contraste suficiente
     sobre a tinta clara dela mesma. Estes escurecem só o bastante. */
  --ok-texto:     #127138;
  --warn-texto:   #96590A;
  --danger-texto: #A21A1A;
  --brand-texto:  #12509E;
  --accent-texto: #5638B8;

  /* ─── Status de lote (usar SEMPRE estes) ───────────── */
  --st-disponivel:    var(--ok);
  --st-reservado:     var(--warn);
  --st-vendido:       var(--brand);
  --st-bloqueado:     #6B7385;
  /* Institucional não é status: é área pública do projeto, fora da venda.
     Usa o roxo de destaque, que nenhum status usa — cinza a confundiria
     com o lote bloqueado por alguém. */
  --st-institucional: var(--accent);

  /* ─── Séries de gráfico (rodada 2) ─────────────────── */
  /* Uma cor por EMPREENDIMENTO, só nos gráficos e cartões do Portal — nunca
     no espelho, onde cor é status. Ordem fixa, validada para daltonismo
     (vizinhas ≥ 9 de ΔE); a cor segue o empreendimento (cor_serie), não a
     posição na lista. Três ficam abaixo de 3:1 no branco: por isso todo
     gráfico leva legenda com nome e a tabela "Ver os números". */
  --serie-1: #2a78d6;  --serie-2: #eb6834;  --serie-3: #1baf7a;  --serie-4: #eda100;
  --serie-5: #e87ba4;  --serie-6: #008300;  --serie-7: #4a3aa7;  --serie-8: #e34948;

  /* ─── Mapa e implantação ───────────────────────────── */
  --map-disponivel:   #A9E7C4;   --map-disponivel-line:  #2E8B57;
  --map-negociacao:   #FBD9A2;   --map-negociacao-line:  #B87710;
  --map-indisponivel: #DFE3EA;   --map-indisponivel-line:#98A0AF;
  --map-selecionado:  #1B6EF3;
  --map-verde:        #C3DFA0;   --map-verde-line:       #4E7A21;
  --map-viario:       #EDF0F4;   --map-viario-line:      #C3C9D4;

  /* ─── Raios ────────────────────────────────────────── */
  --r-sm:   6px;
  --r-md:   8px;
  --r-lg:   12px;
  --r-xl:   16px;
  --r-full: 999px;

  /* ─── Sombras: o peso vem da borda, não delas ──────── */
  --sh-1: 0 1px 2px rgba(17,28,46,.04);
  --sh-2: 0 1px 3px rgba(17,28,46,.06), 0 1px 2px rgba(17,28,46,.04);
  --sh-3: 0 4px 12px rgba(17,28,46,.08), 0 2px 4px rgba(17,28,46,.04);
  --sh-pop: 0 12px 32px rgba(17,28,46,.14);
  --ring: 0 0 0 3px rgba(27,110,243,.18);

  /* ─── Espaçamento (base 4) ─────────────────────────── */
  --s1:4px; --s2:8px; --s3:12px; --s4:16px; --s5:20px;
  --s6:24px; --s8:32px; --s10:40px; --s12:48px;

  /* ─── Tipografia ───────────────────────────────────── */
  --font: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  --font-num: 'Inter', ui-monospace, monospace;
  --font-mono: ui-monospace, 'Cascadia Mono', 'Segoe UI Mono', Menlo, Consolas, monospace;

  /* ─── Estrutura ────────────────────────────────────── */
  /* 240 e não 218: com a largura anterior, "Prospecção de terra" e "Obra e
     urbanização" quebravam em duas linhas e o menu ficava espremido. */
  --sidebar-w: 240px;
  --topbar-h:  64px;
  /* 1600 e não 1440: numa tela de 1920 sobrava uma faixa larga à direita.
     O limite existe para a linha de texto não ficar longa demais de ler, e
     1600 ainda respeita isso — as tabelas, que é o que mais ocupa aqui,
     ganham as colunas de volta. Acima disso o olho perde a linha ao voltar
     para a esquerda. */
  --page-max:  1600px;

  /* ─── Ponte com os nomes antigos ───────────────────────────────────────
     O sistema tem 1.800 usos de classe em português e o domínio é escrito
     em português por regra do projeto. Renomear tudo para casar com o guia
     seria a mesma varredura que já quebrou coisa aqui — e o guia é sobre
     como o sistema PARECE, não sobre como as classes se chamam.
     Os apelidos abaixo fazem toda regra existente passar a usar a paleta
     nova sem tocar em nenhuma view. */
  --tinta:          var(--text);
  --tinta-media:    var(--text-2);
  --tinta-fraca:    var(--text-3);
  --borda:          var(--border);
  --borda-forte:    var(--border-strong);
  --fundo:          var(--bg);
  --papel:          var(--surface);
  --papel-suave:    var(--surface-2);

  --primaria:       var(--brand);
  --primaria-forte: var(--brand-hover);
  --primaria-fraca: var(--brand-soft);

  --sucesso:        var(--ok);
  --sucesso-fraca:  var(--ok-soft);
  --alerta:         var(--warn);
  --alerta-fraca:   var(--warn-soft);
  --erro:           var(--danger);
  --erro-fraca:     var(--danger-soft);

  --raio:           var(--r-md);
  --raio-sm:        var(--r-sm);
  --sombra:         var(--sh-2);
  --sombra-md:      var(--sh-3);
  --lateral:        var(--sidebar-w);
  --fonte:          var(--font);
  --fonte-mono:     var(--font-mono);
}
