/* ==========================================================================
   Vitrall Saúde · 01 TOKENS
   Fonte: "Guia de layout e parametros" v1.0 — secoes 1 (cores), 2 (tipografia)
   e 3 (grade, espacamento, raios, sombras).
   Paleta FECHADA: nenhuma cor pode existir fora deste arquivo.

   ── ESTE :root E' A FONTE: TEMA CLARO, ACENTO AZUL ──────────────────────────

   Tudo o que vem depois do marcador GERADO, la' embaixo, sai daqui por conta:
   os tres outros acentos sao este bloco com o matiz girado em OKLCH, e o tema
   escuro e' uma paleta desenhada sobre os mesmos nomes. Quem mexe numa cor,
   mexe aqui e roda `node src/gerar-cores.js --escrever`.

   Dois nomes novos merecem ser lidos antes do resto, porque sao a razao de o
   tema escuro funcionar:

     --sobre-acento   texto EM CIMA do preenchimento de acento. No claro e'
                      branco; no escuro e' quase preto, porque la' o acento e'
                      claro. Os 24 `#FFFFFF` que viviam soltos no CSS eram este
                      token esperando para existir — branco escrito a mao e' o
                      que fica aceso e ilegivel quando o fundo clareia.
     --tinta-forte    o papel de TINTA que o --azul-escuro acumulava. Ele e'
                      superficie (menu, painel da marca) e era tambem cor de
                      texto (link visitado, linha da curva de crescimento). No
                      escuro os dois papeis se separam: a superficie continua
                      escura e a tinta precisa clarear, senao a linha do grafico
                      some dentro do cartao.
   ========================================================================== */

:root {
  /* ---- 1.1 Institucionais ---- */
  --azul-escuro:      #071D41;  /* menu lateral, titulos, texto principal */
  --azul-primario:    #1351B4;  /* botao primario, item ativo, links, foco */
  --azul-sobre-claro: #0C326F;  /* texto e icone dentro de chip azul-claro */
  --amarelo-acento:   #FFCD07;  /* marca, marcador ativo, estado de atencao */

  /* ---- 1.2 Superficies e texto ---- */
  --fundo-tela:       #EDF0F7;  /* so atras de cartoes */
  --cartao:           #FFFFFF;  /* sempre com contorno --contorno */
  --linha-lista:      #F8FAFD;  /* linha de lista / campo em repouso */
  --trilha:           #EFF2F8;  /* segmentado e barra de progresso */
  --secundario:       #F1F4FA;  /* botao secundario / chip neutro */
  --linha-foco:       #F0F5FF;  /* linha selecionada — uma por lista */
  --contorno:         #E4E9F2;  /* 1px; nunca contorno mais escuro */
  --texto:            #071D41;  /* titulos, nomes, numeros */
  --texto-corrente:   #3A465E;  /* corpo, celulas de tabela */
  /* CORRIGIDO na entrega do tema escuro. Era #69748C, anotado aqui como 4,9:1
     — e 4,9 era a razao sobre o BRANCO do cartao. Sobre --fundo-tela, que e' a
     outra superficie onde este texto vive, a mesma cor dava 4,1:1: abaixo do
     minimo do WCAG para texto normal, num sistema onde texto de apoio carrega
     posologia e horario. Escurecido o minimo necessario para passar em TODAS as
     superficies claras — `npm run conferir:cores` confere par a par. */
  --texto-apoio:      #606B83;  /* 4,7:1 no pior fundo claro; 5,3:1 no cartao */

  /* Tons de apoio do design (usados no menu escuro e em bordas de dado fraco).
     Nao sao cor de texto sobre branco. */
  --sobre-escuro:       #B7C7E0;
  --sobre-escuro-forte: #C3D2E8;
  --sobre-escuro-fraco: #8FA8CC;
  --azul-menu-blob:     #0C2D63;
  /* Placeholder e componente desabilitado. Era #9AA4B8 (2,2:1) — o WCAG 1.4.3
     isenta componente inativo, mas 2,2:1 e' pouco ate' para saber que o campo
     existe. Levado ao piso de 3:1, que e' onde o conferir:cores o cobra. */
  --cinza-desativado:   #7D869A;
  --cinza-tracejado:    #B4BECF;
  --divisor-claro:      #DFE4EE;

  /* ---- 1.2b Os nomes que faltavam para o tema existir --------------------
     Cada um destes substitui um valor que estava escrito a mao no CSS — as 24
     cores cruas que viviam fora deste arquivo. Nao sao cor nova: sao o mesmo
     valor, agora com um nome que o tema escuro pode redefinir. */

  /* Texto SOBRE preenchimento. No claro sao todos branco, e por isso o codigo
     escrevia `#FFFFFF` e seguia em frente. No escuro deixam de ser. */
  --sobre-acento:   #FFFFFF;   /* em cima de --azul-primario / --info-cheia */
  --sobre-forte:    #FFFFFF;   /* em cima de --azul-escuro (menu, aviso, login) */
  --sobre-ok:       #FFFFFF;   /* em cima de --ok-cheia */
  --sobre-atencao:  #5C4400;   /* em cima de --atencao-cheia (amarelo pede tinta escura) */
  --sobre-critico:  #FFFFFF;   /* em cima de --critico-cheia */
  --sobre-neutro:   #FFFFFF;   /* em cima de --neutro-cheia (pino do mapa) */

  /* A TINTA do azul escuro — ver o cabecalho. Superficie e tinta eram o mesmo
     token e no escuro precisam andar em sentidos opostos. */
  --tinta-forte:    #071D41;

  /* Veus brancos do menu lateral. O menu e escuro nos DOIS temas, entao o veu
     continua branco nos dois — mas com nome, para nao voltar a ser hex solto. */
  --sobre-veu-1:    rgba(255,255,255,.08);
  --sobre-veu-2:    rgba(255,255,255,.12);
  --sobre-borda:    rgba(255,255,255,.14);

  /* Superficies de uma so ocorrencia, antes cruas em 04-telas.css */
  --fila-normal:    #F7F9FC;   /* linha de fila em ritmo normal */
  --dia-vazio:      #FBFCFE;   /* dia fora do mes no calendario */
  /* O fim do degrade que apaga a lista. `transparent` seria rgba(0,0,0,0) e
     desce puxando cinza no meio do caminho — por isso o zero e do proprio
     cartao, e por isso ele muda de valor junto com ele. */
  --cartao-0:       rgba(255,255,255,0);
  /* Balao de dica por cima do mapa de ruas: o mapa e claro nos dois temas
     (os ladrilhos vem do OpenStreetMap), entao este veu nao segue o tema. */
  --veu-dica:       rgba(17,24,39,.55);

  /* O acento em componentes de rgb(), para os tokens com alfa mais abaixo.
     Girado junto com o resto da familia. */
  --acento-rgb:     19,81,180;

  /* AS QUATRO AMOSTRAS DO SELETOR DE APARENCIA.
     O seletor mostra os quatro acentos ao mesmo tempo, e tres deles nao estao
     ativos — nao ha como pinta-los com --azul-primario. Estes quatro existem
     sempre, nos dois temas (o escuro tem os seus, mais claros), e sao os unicos
     tokens que NAO giram: girar a amostra faria os quatro quadradinhos
     mostrarem a mesma cor. */
  --amostra-azul:   #1351B4;
  --amostra-roxo:   #7639A0;
  --amostra-rosa:   #9D216B;
  --amostra-verde:  #02615B;

  /* ---- 1.3 Estados (trios fixos: fundo / texto / cheia) ---- */
  --ok-fundo:     #E2F4E5;  --ok-texto:     #0F6B1B;  --ok-cheia:     #168821;
  --atencao-fundo:#FFF3CC;  --atencao-texto:#5C4400;  --atencao-cheia:#FFCD07;
  --critico-fundo:#FDE6E3;  --critico-texto:#8B1A0C;  --critico-cheia:#E52207;
  --info-fundo:   #E8EFFC;  --info-texto:   #0C326F;  --info-cheia:   #1351B4;
  --neutro-fundo: #EFF2F8;  --neutro-texto: #3A465E;  --neutro-cheia: #69748C;

  /* Superficies de cartao por estado (kanban e alertas) */
  --sup-atencao:  #FFFBEF;
  --sup-critico:  #FEF1EF;
  --sup-ok:       #F1FAF2;
  --sup-andamento:#F0F5FF;
  --borda-atencao:#F5E4B0;
  --borda-critico:#F6D3CD;
  --borda-andamento:#C9DBF7;

  /* ---- 1.5 Series de grafico ----------------------------------------------
     Nao sao cores novas: sao APELIDOS para tons que ja estao nas tabelas acima.
     Existem porque a secao 7 do guia pede series distinguiveis, e cinco estados
     visuais nao dao conta de seis series — colapsar 'Acesso' e 'Agenda' no mesmo
     azul apagaria informacao do grafico. O servidor manda o NUMERO da serie; a
     cor mora aqui. */
  --serie-1: #1351B4;   --serie-2: #5992ED;   --serie-3: #168821;
  --serie-4: #FFCD07;   --serie-5: #9BC3F5;   --serie-6: #E52207;

  /* ---- 1.5b Odontograma (107) — as unicas cores deste sistema que sao CODIGO
     Todo o resto da paleta e' PAPEL: 'critico' e' vermelho porque o sistema
     escolheu, e amanha podia ser laranja sem ninguem desaprender nada. Aqui
     nao: vermelho e' carie e azul e' restaurado em qualquer faculdade de
     odontologia do pais, e o dentista le o mapa inteiro sem ler uma palavra.
     Trocar a cor destroi a leitura, entao elas nao seguem o acento.

     AS DOZE SAO FAIXA E PONTO, NUNCA FUNDO DE TEXTO. O numero do dente fica
     sobre o cartao, com a cor de texto de sempre, e a condicao aparece numa
     tarja embaixo dele. Quem depende so' da cor tem o rotulo no `title` e o
     chip de texto ao lado — a cor acrescenta, nao substitui. */
  --odonto-higido:     #C3D2E8;
  --odonto-cariado:    #E52207;
  --odonto-restaurado: #1351B4;
  --odonto-ausente:    #B4BECF;
  --odonto-extraido:   #55607A;
  --odonto-indicado:   #F0A02A;
  --odonto-coroa:      #8C6D1F;
  --odonto-implante:   #5D7A2E;
  --odonto-selante:    #168821;
  --odonto-fraturado:  #9C3FB5;
  --odonto-canal:      #0E7C86;
  --odonto-protese:    #8A5A2B;

  /* Intensidade dentro de uma mesma serie (secao 7: "a intensidade do azul
     cresce com o valor"). Tres degraus, do mais fraco ao mais forte. */
  --int-azul-1:     #DCE7F8;  --int-azul-2:     #9BC3F5;  --int-azul-3:     #1351B4;
  --int-azul-4:     #0C326F;
  --int-vermelho-1: #F6D3CD;  --int-vermelho-2: #F0A79A;  --int-vermelho-3: #E52207;
  --int-verde-1:    #C7E7CD;  --int-verde-2:    #7FC08D;  --int-verde-3:    #168821;
  --int-amarelo-1:  #F5E4B0;  --int-amarelo-2:  #F0CE5F;  --int-amarelo-3:  #FFCD07;
  --int-frio:       #C3D2E8;

  /* ---- 1.4 Icones do menu (cor fixa por secao) ---- */
  --icone-recepcao:    #5992ED;
  --icone-atendimento: #4CC26A;
  --icone-agenda:      #FFCD07;
  --icone-cadastros:   #9BC3F5;
  --icone-relatorios:  #FF8A73;
  --icone-tarefas:     #F0A02A;

  /* ---- 1.6 Marca — tres vidros que se cruzam ----
     Os tres primeiros sao as PRIMARIAS, e as tres ja eram tokens institucionais
     desta paleta. Os cruzamentos sao cor ESCOLHIDA, nao resultado de empilhar
     opacidade: alfa sobre alfa produz o verde-oliva sujo que todo mundo conhece
     e ninguem quer. Escolhendo, a mistura subtrativa do vidro colorido sai
     limpa — e o verde do cruzamento e o mesmo #168821 que o sistema ja usa em
     "Atendido", entao a marca nao traz cor nova para a tela. */
  --marca-azul:     #1351B4;   /* = --azul-primario  */
  --marca-amarelo:  #FFCD07;   /* = --amarelo-acento */
  --marca-vermelho: #E52207;   /* = --critico-cheia  */

  --marca-verde:    #168821;   /* azul + amarelo   (= --ok-cheia) */
  --marca-violeta:  #7A1E6E;   /* azul + vermelho  */
  --marca-laranja:  #F57B00;   /* amarelo + vermelho */
  --marca-centro:   #071D41;   /* os tres          (= --azul-escuro) */

  /* ---- 2. Tipografia — duas familias, nada alem disso ---- */
  --fonte: 'Instrument Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --mono:  'JetBrains Mono', ui-monospace, 'Cascadia Mono', monospace;

  /* ---- 3. Escala de espaco: 2 4 6 8 10 12 14 16 20 22 26 32 ---- */
  --e2: 2px;   --e4: 4px;   --e6: 6px;   --e8: 8px;
  --e10:10px;  --e12:12px;  --e14:14px;  --e16:16px;
  --e20:20px;  --e22:22px;  --e26:26px;  --e32:32px;

  /* ---- 3.1 Raios ---- */
  --r-moldura: 32px;
  --r-cartao:  28px;
  --r-menu:    28px;
  --r-bloco:   20px;   /* bloco interno, campo — faixa 18–24 */
  --r-kanban:  18px;
  --r-linha:   18px;   /* linha de lista — faixa 16–18 */
  --r-linha-p: 16px;
  --r-tile:    12px;

  /* ---- 3.2 Sombras — nenhuma outra e permitida ---- */
  --s-moldura: 0 2px 4px rgba(7,29,65,.05), 0 28px 70px rgba(7,29,65,.13);
  --s-cartao:  0 1px 2px rgba(7,29,65,.03), 0 8px 20px rgba(7,29,65,.04);
  --s-primario:0 4px 14px rgba(var(--acento-rgb), .26);
  --s-confirma:0 4px 14px rgba(22,136,33,.26);
  --s-segmento:0 1px 2px rgba(7,29,65,.08);
  --s-menu:    18px 0 40px rgba(7,29,65,.28);
  --s-modal:   0 24px 64px rgba(7,29,65,.22);
  --s-pino:    0 1px 3px rgba(0,0,0,.18);    /* pino do mapa */
  --s-flutuante:0 6px 20px rgba(0,0,0,.12);  /* balao flutuante sobre o mapa */
  --s-leve:    0 1px 2px rgba(7,29,65,.04);  /* cartao do login */

  /* Os dois saem do --acento-rgb: sem isso o anel de foco continuaria azul numa
     tela rosa, e o foco e' justamente o que tem de concordar com o acento. */
  --anel-foco: 0 0 0 4px rgba(var(--acento-rgb), .12);
  --blob-acento: rgba(var(--acento-rgb), .4);   /* vidro da marca no login */
  --veu-modal: rgba(7,29,65,.42);

  /* ---- 4. A TV DA PAREDE — PALETA FIXA, FORA DO TEMA --------------------
     A TV roda SEM SESSAO, por token publico em `/tv/<token>`: nao existe "o
     usuario dela", entao preferencia por pessoa nao tem nem por onde chegar
     ali. E ela e lida de cinco metros por quem nao escolheu nada — o que ela
     precisa e' contraste maximo sempre, nao o gosto do operador.

     Estes tokens NAO aparecem em nenhum bloco de tema, e o `05-tv.css` repina
     dentro do proprio `.tv` os tokens compartilhados que usa. Um `data-tema`
     que escape para a raiz daquela pagina nao encontra nada para trocar. */
  --tv-sobre:        #FFFFFF;
  --tv-veu:          rgba(255,255,255,.08);
  --tv-borda:        rgba(255,255,255,.14);
  --tv-blob:         rgba(19,81,180,.4);
  /* E os compartilhados que o painel usa, congelados no valor institucional.
     O 05-tv.css repina os tokens dele com ESTES nomes — assim a regra do
     cabecalho continua de pe: a cor mora aqui, e so aqui. */
  --tv-fundo:        #071D41;
  --tv-acento:       #1351B4;
  --tv-blob-forte:   #0C2D63;
  --tv-marcador:     #FFCD07;
  --tv-apoio:        #B7C7E0;
  --tv-chip-fundo:   #E8EFFC;
  --tv-chip-texto:   #0C326F;
  --tv-critico:      #E52207;
  --tv-cartao:       #FFFFFF;
  --tv-texto:        #071D41;
  --tv-texto-apoio:  #606B83;
  --tv-tela:         #EDF0F7;
  --tv-s-moldura:    0 2px 4px rgba(7,29,65,.05), 0 28px 70px rgba(7,29,65,.13);

  /* ---- 5. Menu lateral ---- */
  --menu-fechado: 60px;
  --menu-aberto:  252px;
  --menu-rail:    76px;   /* espacador fixo no fluxo */
  --menu-transicao: width .24s cubic-bezier(.2,.7,.3,1);
}

/* ==== GERADO POR src/gerar-cores.js — NAO EDITE DAQUI ==== */

/* Os três acentos no tema claro. Cada bloco é o `:root` de cima com a
   família do acento girada — e só ela: superfície, texto, estado, série,
   ícone e marca não mudam de matiz por causa da escolha de quem entrou. */

:root[data-acento="roxo"] {
  /* Roxo — matiz girado +50° em OKLCH, luminância presa */
  --azul-escuro: #2B133C;
  --azul-primario: #7639A0;
  --azul-sobre-claro: #4C2162;
  --azul-menu-blob: #421F59;
  --sobre-escuro: #CDC1DC;
  --sobre-escuro-forte: #D6CDE3;
  --sobre-escuro-fraco: #B39EC8;
  --linha-foco: #FBF2FC;
  --sup-andamento: #FBF2FC;
  --borda-andamento: #E4D4EF;
  --info-fundo: #F1EDF6;
  --info-texto: #4C2162;
  --info-cheia: #7639A0;
  --int-azul-1: #EBE3F4;
  --int-azul-2: #CCB6F0;
  --int-azul-3: #7639A0;
  --int-azul-4: #4C2162;
  --int-frio: #D6CDE3;
  --tinta-forte: #2B133C;
  --sobre-acento: #FFFFFF;
  --sobre-forte: #FFFFFF;
  --acento-rgb: 118,57,160;
}

:root[data-acento="rosa"] {
  /* Rosa — matiz girado +90° em OKLCH, luminância presa */
  --azul-escuro: #390E23;
  --azul-primario: #9D216B;
  --azul-sobre-claro: #611642;
  --azul-menu-blob: #58133B;
  --sobre-escuro: #DBBECD;
  --sobre-escuro-forte: #E7C9D4;
  --sobre-escuro-fraco: #C69AAF;
  --linha-foco: #FDF2F6;
  --sup-andamento: #FDF2F6;
  --borda-andamento: #F5D0DE;
  --info-fundo: #FAEBEE;
  --info-texto: #611642;
  --info-cheia: #9D216B;
  --int-azul-1: #F5E1E9;
  --int-azul-2: #EDADD3;
  --int-azul-3: #9D216B;
  --int-azul-4: #611642;
  --int-frio: #E7C9D4;
  --tinta-forte: #390E23;
  --sobre-acento: #FFFFFF;
  --sobre-forte: #FFFFFF;
  --acento-rgb: 157,33,107;
}

:root[data-acento="verde"] {
  /* Verde — matiz girado -75° em OKLCH, luminância presa */
  --azul-escuro: #002320;
  --azul-primario: #02615B;
  --azul-sobre-claro: #003C37;
  --azul-menu-blob: #02362F;
  --sobre-escuro: #AACDC6;
  --sobre-escuro-forte: #B9D7D1;
  --sobre-escuro-fraco: #77B1A8;
  --linha-foco: #E9F8F5;
  --sup-andamento: #E9F8F5;
  --borda-andamento: #B8E2DD;
  --info-fundo: #E1F2F2;
  --info-texto: #003C37;
  --info-cheia: #02615B;
  --int-azul-1: #D3EBE9;
  --int-azul-2: #7CCFBD;
  --int-azul-3: #02615B;
  --int-azul-4: #003C37;
  --int-frio: #B9D7D1;
  --tinta-forte: #002320;
  --sobre-acento: #FFFFFF;
  --sobre-forte: #FFFFFF;
  --acento-rgb: 2,97,91;
}

/* O TEMA ESCURO. Superfícies, texto, estados, séries e a família do acento
   no matiz azul. É uma paleta desenhada, não o claro invertido — ver o
   raciocínio em src/gerar-cores.js. */

:root[data-tema="escuro"] {
  --fundo-tela: #0B1320;
  --cartao: #1A212E;
  --linha-lista: #252C38;
  --trilha: #282F3B;
  --secundario: #2E3645;
  --contorno: #3A4250;
  --divisor-claro: #39414D;
  --texto: #F1F6FE;
  --texto-corrente: #D3DAE8;
  --texto-apoio: #A4AFC2;
  --cinza-desativado: #838D9E;
  --cinza-tracejado: #616978;
  --fila-normal: #202632;
  --dia-vazio: #161C26;
  --cartao-0: rgba(29,33,41,0);
  --veu-modal: rgba(0,0,0,.62);
  --azul-escuro: #040C1F;
  --azul-menu-blob: #102347;
  --azul-primario: #75A3F9;
  --azul-sobre-claro: #9BBEFF;
  --info-fundo: #1F2E4A;
  --info-texto: #A3C5FF;
  --info-cheia: #75A3F9;
  --linha-foco: #1E2B43;
  --sup-andamento: #1E2B43;
  --borda-andamento: #384E76;
  --int-azul-1: #30405D;
  --int-azul-2: #405A8B;
  --int-azul-3: #6591E1;
  --int-azul-4: #9CBEFC;
  --int-frio: #465671;
  --sobre-escuro: #ACBAD2;
  --sobre-escuro-forte: #C9D5EA;
  --sobre-escuro-fraco: #8896B0;
  --tinta-forte: #CEE1FF;
  --sobre-acento: #080F1C;
  --sobre-forte: #EEF3FB;
  --acento-rgb: 117,163,249;
  --ok-fundo: #193519;
  --ok-texto: #99E297;
  --ok-cheia: #4AA34C;
  --sobre-ok: #071307;
  --atencao-fundo: #3C2F04;
  --atencao-texto: #F8D879;
  --atencao-cheia: #EBBF24;
  --sobre-atencao: #231900;
  --critico-fundo: #4E2119;
  --critico-texto: #FFAC9C;
  --critico-cheia: #E6553F;
  --sobre-critico: #1E0805;
  --neutro-fundo: #282F3B;
  --neutro-texto: #D3DAE8;
  --neutro-cheia: #7E8796;
  --sobre-neutro: #0B0F18;
  --sup-atencao: #2E250B;
  --sup-critico: #391D18;
  --sup-ok: #192B19;
  --borda-atencao: #56481F;
  --borda-critico: #6A3B33;
  --amarelo-acento: #FFCD0C;
  /* O odontograma no tema escuro: os MESMOS doze codigos, clareados o bastante
     para sobreviverem ao cartao escuro. O que nao pode mudar e' a IDENTIDADE —
     carie continua sendo a mais quente e restaurado continua sendo azul —,
     porque e' ela que o dentista le. Clarear sem trocar de familia e' o unico
     ajuste legitimo aqui. */
  --odonto-higido:     #3E4C66;
  --odonto-cariado:    #EC5E48;
  --odonto-restaurado: #6290E7;
  --odonto-ausente:    #6B7691;
  --odonto-extraido:   #96A0B6;
  --odonto-indicado:   #F5B455;
  --odonto-coroa:      #C8A63E;
  --odonto-implante:   #8EAE55;
  --odonto-selante:    #57B359;
  --odonto-fraturado:  #C177D8;
  --odonto-canal:      #3FB2BC;
  --odonto-protese:    #C08B54;
  --serie-1: #6290E7;
  --serie-2: #8FB4F8;
  --serie-3: #57B359;
  --serie-4: #F8CA2C;
  --serie-5: #B5CDF7;
  --serie-6: #EC5E48;
  --int-vermelho-1: #67372F;
  --int-vermelho-2: #953F31;
  --int-vermelho-3: #EC5E48;
  --int-verde-1: #2F4C2F;
  --int-verde-2: #396F3A;
  --int-verde-3: #57B359;
  --int-amarelo-1: #54461C;
  --int-amarelo-2: #9A7D19;
  --int-amarelo-3: #F8CA2C;
  --s-moldura: 0 2px 4px rgba(0,0,0,.40), 0 28px 70px rgba(0,0,0,.55);
  --s-cartao: 0 1px 2px rgba(0,0,0,.30), 0 8px 20px rgba(0,0,0,.28);
  --s-segmento: 0 1px 2px rgba(0,0,0,.45);
  --s-menu: 18px 0 40px rgba(0,0,0,.55);
  --s-modal: 0 24px 64px rgba(0,0,0,.62);
  --s-pino: 0 1px 3px rgba(0,0,0,.55);
  --s-flutuante: 0 6px 20px rgba(0,0,0,.45);
  --s-leve: 0 1px 2px rgba(0,0,0,.35);
  --amostra-azul: #75A3F9;
  --amostra-roxo: #C58EE4;
  --amostra-rosa: #E983B3;
  --amostra-verde: #01B7AB;
}

/* Tema escuro × os outros três acentos. Mesma regra do claro: gira a família,
   não toca em mais nada. */

:root[data-tema="escuro"][data-acento="roxo"] {
  --azul-escuro: #13081A;
  --azul-primario: #C58EE4;
  --azul-sobre-claro: #D7AEF0;
  --azul-menu-blob: #331940;
  --sobre-escuro: #C3B4CB;
  --sobre-escuro-forte: #DBD0E7;
  --sobre-escuro-fraco: #9F90A9;
  --linha-foco: #37243D;
  --sup-andamento: #37243D;
  --borda-andamento: #5E446C;
  --info-fundo: #392744;
  --info-texto: #D8B7F3;
  --info-cheia: #C58EE4;
  --int-azul-1: #4A3958;
  --int-azul-2: #6E4E7E;
  --int-azul-3: #B07DD0;
  --int-azul-4: #D5AFED;
  --int-frio: #624E6D;
  --tinta-forte: #EBD9FA;
  --sobre-acento: #140C18;
  --sobre-forte: #F8F0FB;
  --acento-rgb: 197,142,228;
}

:root[data-tema="escuro"][data-acento="rosa"] {
  --azul-escuro: #1A0610;
  --azul-primario: #E983B3;
  --azul-sobre-claro: #F6A6C8;
  --azul-menu-blob: #3F152B;
  --sobre-escuro: #CDB2BE;
  --sobre-escuro-forte: #E9CDD8;
  --sobre-escuro-fraco: #AC8D9B;
  --linha-foco: #41212E;
  --sup-andamento: #41212E;
  --borda-andamento: #713E54;
  --info-fundo: #472235;
  --info-texto: #F7AFCF;
  --info-cheia: #E983B3;
  --int-azul-1: #5A3447;
  --int-azul-2: #824862;
  --int-azul-3: #D372A1;
  --int-azul-4: #F1A8C9;
  --int-frio: #6F4B5A;
  --tinta-forte: #FAD6E7;
  --sobre-acento: #1A0A11;
  --sobre-forte: #FAF0F5;
  --acento-rgb: 233,131,179;
}

:root[data-tema="escuro"][data-acento="verde"] {
  --azul-escuro: #020F0F;
  --azul-primario: #01B7AB;
  --azul-sobre-claro: #65CEC7;
  --azul-menu-blob: #022928;
  --sobre-escuro: #9DC0BD;
  --sobre-escuro-forte: #BEDAD6;
  --sobre-escuro-fraco: #799C9A;
  --linha-foco: #01312F;
  --sup-andamento: #01312F;
  --borda-andamento: #015852;
  --info-fundo: #00352F;
  --info-texto: #79D3CA;
  --info-cheia: #01B7AB;
  --int-azul-1: #144745;
  --int-azul-2: #00665D;
  --int-azul-3: #00A398;
  --int-azul-4: #67CEC2;
  --int-frio: #315D56;
  --tinta-forte: #BEE8E3;
  --sobre-acento: #011210;
  --sobre-forte: #E7F6F1;
  --acento-rgb: 1,183,171;
}

@media print {
  :root:root:root:root {
    --fundo-tela: #EDF0F7;
    --cartao: #FFFFFF;
    --linha-lista: #F8FAFD;
    --trilha: #EFF2F8;
    --secundario: #F1F4FA;
    --contorno: #E4E9F2;
    --divisor-claro: #DFE4EE;
    --texto: #071D41;
    --texto-corrente: #3A465E;
    --texto-apoio: #606B83;
    --cinza-desativado: #7D869A;
    --cinza-tracejado: #B4BECF;
    --fila-normal: #F7F9FC;
    --dia-vazio: #FBFCFE;
    --cartao-0: rgba(255,255,255,0);
    --veu-modal: rgba(7,29,65,.42);
    --azul-escuro: #071D41;
    --azul-menu-blob: #0C2D63;
    --azul-primario: #1351B4;
    --azul-sobre-claro: #0C326F;
    --info-fundo: #E8EFFC;
    --info-texto: #0C326F;
    --info-cheia: #1351B4;
    --linha-foco: #F0F5FF;
    --sup-andamento: #F0F5FF;
    --borda-andamento: #C9DBF7;
    --int-azul-1: #DCE7F8;
    --int-azul-2: #9BC3F5;
    --int-azul-3: #1351B4;
    --int-azul-4: #0C326F;
    --int-frio: #C3D2E8;
    --sobre-escuro: #B7C7E0;
    --sobre-escuro-forte: #C3D2E8;
    --sobre-escuro-fraco: #8FA8CC;
    --tinta-forte: #071D41;
    --sobre-acento: #FFFFFF;
    --sobre-forte: #FFFFFF;
    --acento-rgb: 19,81,180;
    --ok-fundo: #E2F4E5;
    --ok-texto: #0F6B1B;
    --ok-cheia: #168821;
    --sobre-ok: #FFFFFF;
    --atencao-fundo: #FFF3CC;
    --atencao-texto: #5C4400;
    --atencao-cheia: #FFCD07;
    --sobre-atencao: #5C4400;
    --critico-fundo: #FDE6E3;
    --critico-texto: #8B1A0C;
    --critico-cheia: #E52207;
    --sobre-critico: #FFFFFF;
    --neutro-fundo: #EFF2F8;
    --neutro-texto: #3A465E;
    --neutro-cheia: #69748C;
    --sobre-neutro: #FFFFFF;
    --sup-atencao: #FFFBEF;
    --sup-critico: #FEF1EF;
    --sup-ok: #F1FAF2;
    --borda-atencao: #F5E4B0;
    --borda-critico: #F6D3CD;
    --amarelo-acento: #FFCD07;
    /* O odontograma impresso volta ao codigo claro: o papel sai igual para
       todo mundo, e o odontograma em papel vai para o prontuario fisico. */
    --odonto-higido:     #C3D2E8;
    --odonto-cariado:    #E52207;
    --odonto-restaurado: #1351B4;
    --odonto-ausente:    #B4BECF;
    --odonto-extraido:   #55607A;
    --odonto-indicado:   #F0A02A;
    --odonto-coroa:      #8C6D1F;
    --odonto-implante:   #5D7A2E;
    --odonto-selante:    #168821;
    --odonto-fraturado:  #9C3FB5;
    --odonto-canal:      #0E7C86;
    --odonto-protese:    #8A5A2B;
    --serie-1: #1351B4;
    --serie-2: #5992ED;
    --serie-3: #168821;
    --serie-4: #FFCD07;
    --serie-5: #9BC3F5;
    --serie-6: #E52207;
    --int-vermelho-1: #F6D3CD;
    --int-vermelho-2: #F0A79A;
    --int-vermelho-3: #E52207;
    --int-verde-1: #C7E7CD;
    --int-verde-2: #7FC08D;
    --int-verde-3: #168821;
    --int-amarelo-1: #F5E4B0;
    --int-amarelo-2: #F0CE5F;
    --int-amarelo-3: #FFCD07;
    --s-moldura: 0 2px 4px rgba(7,29,65,.05), 0 28px 70px rgba(7,29,65,.13);
    --s-cartao: 0 1px 2px rgba(7,29,65,.03), 0 8px 20px rgba(7,29,65,.04);
    --s-segmento: 0 1px 2px rgba(7,29,65,.08);
    --s-menu: 18px 0 40px rgba(7,29,65,.28);
    --s-modal: 0 24px 64px rgba(7,29,65,.22);
    --s-pino: 0 1px 3px rgba(0,0,0,.18);
    --s-flutuante: 0 6px 20px rgba(0,0,0,.12);
    --s-leve: 0 1px 2px rgba(7,29,65,.04);
    --amostra-azul: #1351B4;
    --amostra-roxo: #7639A0;
    --amostra-rosa: #9D216B;
    --amostra-verde: #02615B;
  }
}

/* ==== FIM DO GERADO ==== */
