Pular para o conteúdo
AllVita09 Tokens
09Sistema

Design Tokens

Uma fonte de verdade. Os mesmos significados em todos os produtos, temas e densidades.

02 · Arquitetura

Três camadas. Uma direção.

Primitivos guardam valores. Semânticos dão significado. Contratos dizem a cada componente qual significado usar. O tema troca valores, nunca significados.
APROPOSTA

Primitivos

Valor puro, sem intenção.

  • color.brand.teal = #345B63
  • space.4 = 16 px
  • radius.xl = 20 px
  • duration.fast = 140 ms
BPROPOSTA

Semânticos

Significado de interface, com par Light/Dark.

  • action.primary.bg → azure | jade
  • focus → teal | chartreuse
  • border.field → slate | #86A0A5
  • data.primary → teal | jade
CPROPOSTA

Contratos

Mapeamento por componente (construído no 10).

  • button.primary.bg → action.primary.bg
  • input.border → border.field
  • nav.item.selected → selected.bg
  • chart.line → data.primary

Um componente só lê contratos — nunca primitivos.

Um semântico só lê primitivos — nunca outro semântico (sem dependência circular).

Cor de domínio, estado funcional, série de dados e cor institucional são famílias separadas.

03 · Cores e superfícies

Cinco cores oficiais. Superfícies com função.

Primitivos herdados do capítulo 06, sem alteração. Rose continua proposta.

Deep Azure

#112031

color.brand.azure

OFICIAL

Deep Petrol

#152D35

color.brand.petrol

OFICIAL

Rich Teal

#345B63

color.brand.teal

OFICIAL

Pale Jade

#D4ECDD

color.brand.jade

OFICIAL

Pale Chartreuse

#E8FF9C

color.brand.chartreuse

OFICIAL

Neutros · color.neutral.*

HERDADO
whitedeep-ink

Expressão · color.expr.*

HERDADO
aqua
sky
lavender
coral
amber
mint
rose

Rose (tracejado) = PROPOSTA, não promovida a oficial.

Light

canvas#FAFCFB
surface#FFFFFF
surface.raised#FFFFFF
surface.sunken#F5F8F7
surface.tint#F0F8F3

Dark

canvas#112031
surface#152D35
surface.raised#1B3840
surface.sunken#18323B
surface.tint#344C50

04 · Light × Dark

A mesma composição. Outros valores.

Dark não é inversão: Jade assume a ação primária, Chartreuse marca foco e notificação, a série principal passa de Teal a Jade. Significado constante.

Light

Bom dia,

Ana

Próxima consulta

Qui, 14h · Dra. Lima

ConfirmarRemarcar
MovimentoConceitual · APP-P2 · não disponível
Buscar
InícioAgendaMensagensPerfil

Dark

Bom dia,

Ana

Próxima consulta

Qui, 14h · Dra. Lima

ConfirmarRemarcar
MovimentoConceitual · APP-P2 · não disponível
Buscar
InícioAgendaMensagensPerfil
SemânticoLightDarkStatus
action.primary.bg#112031#D4ECDDPROPOSTA
action.primary.fg#FAFCFB#112031PROPOSTA
focus#345B63#E8FF9CPROPOSTA
notification#345B63#E8FF9CPROPOSTA
selected.bg#D4ECDD#D4ECDDPROPOSTA
data.primary#345B63#D4ECDDPROPOSTA
surface.tint#F0F8F3#344C50PROPOSTA
decor.disc#FFFFFF#30464DPROPOSTA
border.field#74817F#86A0A5PROPOSTA

Disco Snow 12% no Dark (1,45:1) é somente decorativo — nunca limite de botão nem indicador de estado.

Seis funções de cor — a mesma cor não troca de papel

Cor institucional

color.brand.*

Identidade; não comunica estado

Superfície

canvas · surface · surface.tint

Neutros + tinta Jade; expressão só como tinta suave de domínio

Ação

action.primary · action.contextual · action.accent

Azure, Jade contextual, Chartreuse pontual

Domínio de saúde

domain.*

Ícone/tinta do tema; nunca estado clínico

Série de dados

chart.series.*

Escura no Light, pastel no Dark, sempre com forma

Estado funcional

status.* (--av-sem-*)

Sistema apenas; nunca valor de saúde

Jade contextual e Chartreuse pontual — sem monocromia de Azure

Light

Card institucional

Consulta de retorno

Primário contextual Jade

Card de domínio · tinta

Rotina

Novo: convite para conectar seu médico

Chartreuse: um destaque por tela, nunca em fluxo clínico. Exemplo ilustrativo.

Dark

Card institucional

Consulta de retorno

Primário contextual Jade

Card de domínio · tinta

Rotina

Novo: convite para conectar seu médico

Chartreuse: um destaque por tela, nunca em fluxo clínico. Exemplo ilustrativo.

05 · Tipografia e densidades

Satoshi. Três densidades. O mesmo componente.

Densidade é ortogonal ao tema. Compacto não dispensa alvo de toque: 44 px no celular; no Operacional, 32 px visíveis com área ativa de 44 px quando houver toque.

Editorial

PROPOSTA

Comunicação e aplicações institucionais

Próxima consulta

Qui, 14h · Dra. Lima
Confirmar
Controle
52 px
Ícone
24 px
Card
32 px
Linha
64 px
Corpo
17 px

Confortável

PROPOSTA

App do Paciente e Vita

Próxima consulta

Qui, 14h · Dra. Lima
Confirmar
Controle
48 px
Ícone
24 px
Card
20 px
Linha
56 px
Corpo
17 px

Operacional

PROPOSTA

Portais Médico, Clínica, Gestão e Marca

Próxima consulta

Qui, 14h · Dra. Lima
Confirmar
Controle
36 px · 32 compacto
Ícone
20 px · 16
Card
16 px
Linha
44 px · 36
Corpo
15 px

Pesos carregados no livro: 300/400/500/700/900 (decisão 07C preservada). font.weight.semibold = 600 fica reservado aos produtos, com arquivo licenciado.

06 · Espaçamentos

Base 4. Ritmo previsível.

Escala herdada do livro (space.*), com papéis semânticos propostos.
space.14 px
space.28 px
space.312 px
space.416 px
space.520 px
space.624 px
space.832 px
space.1040 px
space.1248 px
space.1664 px
space.2080 px
space.2496 px
space.32128 px

Papéis semânticos PROPOSTA

space.inline.iconÍcone ↔ rótulo8
space.stack.fieldEntre campos16
space.card.confortavelPadding de card20
space.card.editorialPadding editorial32
space.section.appEntre blocos de tela32
space.gutter.portalCalha do grid de portal24

07 · Raios e formas

Raio acompanha a escala do objeto.

Herdados do livro. O raio interno = raio externo − padding, para cantos concêntricos.

radius.xs 6 px

Etiquetas, chips internos

radius.sm 8 px

Campos compactos (Operacional)

radius.md 12 px

Campos, botões Operacional

radius.lg 16 px

Cards Operacional, menus

radius.xl 20 px

Cards Confortável

radius.2xl 24 px

Sheet, modal

radius.3xl 32 px

Cards Editorial, mockups

radius.full pílula

Botões pílula, avatar, FAB

08 · Sombras e elevação

Elevação diz camada, não decoração.

No Dark a sombra perde força; a camada é dita pela superfície mais clara (surface.raised).

Light

shadow.1

Card

shadow.2

Menu, nav

shadow.3

Sheet, modal

Dark

shadow.1

Card

shadow.2

Menu, nav

shadow.3

Sheet, modal

Z-index

z.base0
z.raised10
z.sticky100
z.nav200
z.overlay300
z.sheet400
z.modal500
z.toast600

Opacidade

opacity.disabledNão usar opacidade para desativado: usar cor própria—
opacity.scrimFundo atrás de modal/sheet (Azure)48%
opacity.tint.lightCard com tinta de domínio · Light36%
opacity.tint.darkCard com tinta de domínio · Dark16%
opacity.disc.darkDisco Snow decorativo · Dark12%

Blur

blur.ambient12 px
blur.surface20 px
blur.focus32 px

Blur só em vidro ambiente; nunca atrás de texto clínico.

09 · Bordas e separadores

Decorativa não é limite.

Separadores podem ser sutis. Limites de campo precisam de 3:1 contra a superfície real: Slate no Light (3,93 sobre canvas), #86A0A5 no Dark (4,50 sobre raised).

Light

border.decorative

Dark

border.decorative

10 · Estados de interface

Cinco estados. Nunca só pela cor.

Cada estado tem texto, fundo, borda e ícone próprios, em Light e Dark. Sucesso e Atenção ganharam texto mais escuro no Light; todos os estados foram refeitos para o Dark. Estados descrevem a interface — nunca um diagnóstico.

Light

Sucesso

Consulta confirmada para quinta, 14h.

Informação

Nova versão do resumo disponível.

Atenção

Sincronização pendente há 2 dias.

Erro

Não foi possível enviar o documento.

Neutro

Sem novos registros nesta semana.

Dark

Sucesso

Consulta confirmada para quinta, 14h.

Informação

Nova versão do resumo disponível.

Atenção

Sincronização pendente há 2 dias.

Erro

Não foi possível enviar o documento.

Neutro

Sem novos registros nesta semana.

Light

PrimárioSecundárioContornoDesativadoFoco visívelCarregando

Primário Azure · foco Teal

Dark

PrimárioSecundárioContornoDesativadoFoco visívelCarregando

Primário Jade · foco Chartreuse

Dez variantes de ação — base do Capítulo 10, não componentes oficiais

Light

Primário Azure
Primário contextual Jade
Secundário
Destaque Chartreuse
Contorno
Texto
Circular
Icon-only
Flutuante
Contextual

Dark

Primário Azure
Primário contextual Jade
Secundário
Destaque Chartreuse
Contorno
Texto
Circular
Icon-only
Flutuante
Contextual

Regras: uma ação primária por área; Azure não é universal — sobre card escuro, card Azure ou tinta de domínio, a primária passa a Jade (também no Light). Chartreuse só como destaque pontual. Tokens de cor (action.*) ficam no 09; o componente final é do 10.

11 · Acessibilidade e contraste

Medido, não presumido.

Razões calculadas em sRGB e conferidas nas cores renderizadas no navegador (1440/820/390). Referência: texto 4,5:1, texto grande 3:1, não textual 3:1. Não é declaração de conformidade WCAG geral.
ParAmostraSuperfícieTamanhoRazãoVereditoLimitação / substituição
Texto · LightAasurfacetodos17,52:1APROVÁVEL—
Texto secundário · LightAasurfacetodos8,04:1APROVÁVEL—
Texto muted (Slate) · LightAasurface≥ 18,66 px negrito / 24 px4,05:1CONDICIONALTexto normal → usar Graphite
Borda de campo (Slate) · LightAacanvasnão textual3,93:1APROVÁVELLimite funcional ≥ 3:1
Borda decorativa (Cloud)Aasurfacenão textual1,23:1CONDICIONALSó decorativa; nunca único limite
Botão primário · LightAaaction17 px15,99:1APROVÁVEL—
Botão primário Jade · DarkAaaction17 px13,21:1APROVÁVEL—
Foco Teal · LightAasurfaceanel 2 px7,44:1APROVÁVEL—
Foco Chartreuse · DarkAasurfaceanel 2 px13,17:1APROVÁVEL—
Borda de campo · DarkAaraisednão textual4,50:1APROVÁVELNova proposta
Texto muted (Stone) · DarkAasurfacetodos6,66:1APROVÁVEL—
Sucesso · Light (novo)Aasuccess.bg15 px5,61:1APROVÁVELSubstitui #2F7D5B como texto
Atenção · Light (novo)Aawarning.bg15 px5,71:1APROVÁVELSubstitui #9A6A12 como texto
Informação · LightAainfo.bg15 px5,04:1APROVÁVEL—
Erro · LightAacritical.bg15 px5,13:1APROVÁVEL—
Sucesso · Dark (novo)Aasuccess.bg15 px6,06:1APROVÁVEL—
Atenção · Dark (novo)Aawarning.bg15 px6,48:1APROVÁVEL—
Informação · Dark (novo)Aainfo.bg15 px5,94:1APROVÁVELSubstitui #2C6A99 no Dark (2,4)
Erro · Dark (novo)Aacritical.bg15 px5,48:1APROVÁVELSubstitui #B13A2E no Dark (2,5)
Série principal Teal · LightAasurfacelinha 2,5 px7,44:1APROVÁVEL—
Série principal Jade · DarkAasurfacelinha 2,5 px11,55:1APROVÁVEL—
Card tint 36% · LightAasurface.tinttodos15,24:1APROVÁVEL—
Card tint 16% · DarkAasurface.tinttodos8,88:1APROVÁVEL—
Disco Snow 12% · DarkAasurfacenão textual1,45:1CONDICIONALSomente decorativo
Desativado · DarkAasurfacetexto3,56:1CONDICIONALIsento (inativo); manter rótulo
Teal sobre PetrolAasurfacequalquer1,94:1✕ REJEITADOUso proibido · substituirUsar Jade no Dark
Aqua como linha · LightAasurfacelinha1,39:1✕ REJEITADOUso proibido · substituirUsar série escura do domínio

Contagem reconciliada e novos contratos medidos

Matriz 09A

27 pares únicos

21 aprováveis + 4 condicionais + 2 rejeitados. Erro anterior: 09A: 22 + 4 + 2 = 28 (contagem errada de aprováveis).

Contratos 09C

120 de 120 passam

Linhas, eixos, marcadores, legendas e foco sobre surface e canvas, Light e Dark.

Ações

11 de 11 passam

Primário Azure · Light15,99

Primário contextual Jade · Light/Dark13,21

Secundário (tint) · Light15,24

Secundário (tint) · Dark8,88

Destaque Chartreuse15,07

Contorno Azure · Light16,47

Contorno Jade · Dark11,55

Texto Teal · Light7,44

Texto Jade · Dark11,55

Jade em card Azure13,21

Chartreuse sobre Azure (acento)15,07

Valores calculados em sRGB e conferidos no navegador (1440/820/390). Não é declaração de conformidade WCAG geral: faltam testes funcionais com tecnologia assistiva.

12 · Sense e Vita

Quatro famílias que nunca se confundem.

Institucional identifica a marca. Domínio identifica o tema. Estado descreve a interface. Série desenha o dado — sempre com contraste na superfície real. Nada aqui define faixa clínica.

A · Institucional

color.brand.*

Logotipo, navegação, ação

B · Domínio

domain.*

Ícone e tinta de card do tema

C · Estado

status.*

Sincronizado, pendente, erro

D · Série

data.series.*

Linhas e barras de gráfico

AMOSTRAS CROMÁTICAS DE SÉRIES — NÃO REPRESENTAM O GRÁFICO DE CADA INDICADOR.

Light

Frequência cardíaca#A24A2FAPP-P2
HRV#5A4B9AAPP-P2
Sono#5A4B9AAPP-P2
Temperatura de pele#7F560BAPP-P2
Movimento#256B4CAPP-P2
Recuperação estimada#345B63APP-P2
Estresse estimado#2C6A99APP-P2
Saúde feminina#9B3D5CRose · em avaliação

Dark

Frequência cardíaca#F3B5A2APP-P2
HRV#D4CBF4APP-P2
Sono#D4CBF4APP-P2
Temperatura de pele#F3D494APP-P2
Movimento#BCE8C9APP-P2
Recuperação estimada#D4ECDDAPP-P2
Estresse estimado#B8DCF5APP-P2
Saúde feminina#F2C4D3Rose · em avaliação

Sense · estados funcionais

Conceitual · APP-P2 · não disponível
Conectado
Sincronizando
Sincronização pendente
Desconectado
SonoOrigem: Sense · ilustrativo
Registrado≈ Estimado (tracejado)— Ausente

Vita · tokens candidatos

A Orb oficial não é recolorida por token. Os tokens vestem apenas o entorno da Vita.

Quando é meu retorno?
Seu retorno está marcado para quinta, às 14h. Quer que eu lembre você na véspera?
Gravando · 0:12Falar com atendimento
vita.surface
surface
vita.msg.user
selected.bg
vita.msg.assistant
surface.raised
vita.mic
action.primary
vita.recording
critical (operacional)
vita.attention
notification

Seis naturezas de dado — seis contratos diferentes

Light

Série contínua

FC ao longo do dia · Linha; lacuna interrompe; eixo temporal real

Medição pontual

Duração do sono, SpO₂ · Ponto ou barra por evento; sem interpolar

Registro manual

Sintoma, ciclo · Marcador em timeline/calendário; autoria visível

Resultado laboratorial

Analito do laudo · Valor + unidade + referência do laudo; um ponto por coleta

Dado categórico

Estágios do sono · Faixas nominais com forma/rótulo

Estimativa derivada

HRV, energia · Tracejado + “≈” + método na origem

Dark

Série contínua

FC ao longo do dia · Linha; lacuna interrompe; eixo temporal real

Medição pontual

Duração do sono, SpO₂ · Ponto ou barra por evento; sem interpolar

Registro manual

Sintoma, ciclo · Marcador em timeline/calendário; autoria visível

Resultado laboratorial

Analito do laudo · Valor + unidade + referência do laudo; um ponto por coleta

Dado categórico

Estágios do sono · Faixas nominais com forma/rótulo

Estimativa derivada

HRV, energia · Tracejado + “≈” + método na origem

Sense — conferido com a Especificação Técnica v1.1 · tudo APP-P2 conceitual

DadoCategoriaNaturezaVisualizaçãoEscalaTokensNota
Frequência cardíacaObrigatório do hardwareSérie contínuaLinha + faixa mín–máx diáriaDefinida pelo widget conforme dadoschart.series.primary · chart.band.personal-baseline§2 núcleo; valores com horário
FC de repousoDerivadoEstimativa derivadaPonto diário + linha de basePelo widgetchart.point · chart.line.baselineDerivado do dispositivo
HRVObrigatório do hardwareEstimativa derivadaPonto noturno + média móvel + linha de basePelo widget; indicador (RMSSD/SDNN) sempre exibidochart.series.estimated · chart.band.personal-baseline§6 exige método informado
Sono — duração/horáriosObrigatório do hardwareMedição pontualBarra por noiteA partir de zerochart.series.primaryInício/fim, duração
Sono — estágiosOpcionalDado categóricoHipnogramaCategórica × tempochart.series.categorical · chart.uncertaintySó se o algoritmo suportar
Temperatura de peleObrigatório do hardwareSérie contínuaDesvio da linha de base (divergente)Zero central neutrochart.line.baseline · domain.amberNunca temperatura corporal clínica
Atividade / passosObrigatório do hardwareSérie contínuaBarras diárias; anel só com meta do usuárioA partir de zerochart.series.primary · domain.mintMinutos ativos, inatividade
Energia / caloriasDerivadoEstimativa derivadaValor com “≈”Pelo widgetchart.series.estimatedSempre identificado como estimativa
IBI/RR · PPG brutoPreferencialSérie contínuaNão exibido ao paciente——Validação técnica
Frequência respiratóriaOpcionalMedição pontualA definir no 11Pelo widgetchart.pointSomente se suportada
SpO₂OpcionalMedição pontualPonto; sem faixa de alarmeSem escala fixa impostachart.pointNão é critério de compra
Bateria · conexão · firmwareObrigatório do hardwareEstado funcionalChip de estado—device.* · status.*Sem expor dado pessoal
HealthKit · Health ConnectIntegração autorizadaConforme a fonteMesma do dado + origem visível—lab.source/chart.legend (origem)Integrado pelo app AllVita
Sintomas, humor, cicloRegistro manualRegistro manualTimeline / calendárioTempodomain.rose (PROPOSTA) · neutralNão depende do Sense
Recuperação / estresse (índices)ConceitualEstimativa derivadaTexto qualitativo; sem escala 0–100Nenhuma oficializadachart.series.estimatedSem algoritmo homologado
Pressão arterial · glicemia não invasiva · ECGNão validado—Não representar——§2: não requeridos; sem alegação clínica

Pressão arterial, glicemia não invasiva e ECG não são capacidades do Sense. Nenhuma pontuação 0–100 de recuperação e nenhuma escala fixa de SpO₂ é oficializada: escalas são decididas pelo widget (cap. 11) conforme tipo, unidade e distribuição.

Vita central · PROPOSTA DE UX PRIORIZADA para prototipagem (arquitetura final no Capítulo 13)

Light

Início
Agenda
Vita
Mensagens
Perfil

Orb oficial · anel de foco visível · rótulo sempre presente. Módulos da POC não são removidos: excedentes vão para “Mais” no Cap. 13.

Dark

Início
Agenda
Vita
Mensagens
Perfil

Orb oficial · anel de foco visível · rótulo sempre presente. Módulos da POC não são removidos: excedentes vão para “Mais” no Cap. 13.

Ficha de consulta · 8 contratosAbrir ficha
  • vita.nav.size

    Orb 60 px (área de toque 64 px); demais itens 24 px + rótulo

    Camada
    Contrato
    Light
    60 px
    Dark
    60 px
    Consumidor
    Barra do App (cap. 13)
    Status
    PROPOSTA DE UX PRIORIZADA
    Fonte
    Vita · App
  • vita.nav.elevation

    Eleva 12 px acima da barra; shadow.2

    Camada
    Contrato
    Light
    shadow.2
    Dark
    shadow.2 (Dark)
    Consumidor
    Barra do App
    Status
    PROPOSTA DE UX PRIORIZADA
    Fonte
    Vita
  • vita.nav.halo

    Anel neutro ao redor da Orb — a Orb nunca é recolorida

    Camada
    Contrato
    Light
    #F0F8F3
    Dark
    #344C50
    Consumidor
    Barra do App
    Status
    PROPOSTA DE UX PRIORIZADA
    Fonte
    Vita
  • vita.nav.focus

    Anel de foco 2 px afastado 3 px

    Camada
    Contrato
    Light
    #345B63
    Dark
    #E8FF9C
    Consumidor
    Barra do App
    Status
    PROPOSTA DE UX PRIORIZADA
    Fonte
    Vita
  • vita.nav.label

    Rótulo “Vita” sempre visível + nome acessível “Vita, assistente”

    Camada
    Contrato
    Light
    #111B1D
    Dark
    #FAFCFB
    Consumidor
    Barra do App
    Status
    PROPOSTA DE UX PRIORIZADA
    Fonte
    Vita
  • vita.nav.state

    Estado vem do data-state da Orb oficial (repouso, escuta, processando, fala, erro) + texto

    Camada
    Contrato
    Light
    MasterOrb data-state
    Dark
    MasterOrb data-state
    Consumidor
    Orb oficial
    Status
    PROPOSTA DE UX PRIORIZADA
    Fonte
    Vita
  • vita.nav.motion

    Vídeo oficial do estado (só Repouso disponível)

    Camada
    Contrato
    Light
    motion.slow
    Dark
    motion.slow
    Consumidor
    VitaOrbVideo
    Status
    PROPOSTA DE UX PRIORIZADA
    Fonte
    Vita
  • vita.nav.reduced-motion

    Poster estático oficial; estado só por texto

    Camada
    Contrato
    Light
    poster
    Dark
    poster
    Consumidor
    VitaOrbVideo
    Status
    PROPOSTA DE UX PRIORIZADA
    Fonte
    Vita

13 · Contratos de componente

O que cada componente vai ler.

Mapas para o capítulo 10. Nenhum componente funcional é criado aqui.

Light

Resumo da semana

3 registros · 1 consulta confirmada

InícioAgendaMensagensPerfil
TudoConsultasExames

Dark

Resumo da semana

3 registros · 1 consulta confirmada

InícioAgendaMensagensPerfil
TudoConsultasExames
ComponenteContrato→ Semântico
Buttonbutton.primary.{bg,fg,focus}action.primary.* · focus
Inputinput.{border,border-hover,border-focus,border-error}border.field* · focus · critical.border
Cardcard.{bg,tint,shadow,radius}surface · surface.tint · shadow.1 · radius por densidade
Navigationnav.{bg,item,item-selected,badge}surface.raised · text.secondary · selected.* · notification
Tabstabs.{item,item-selected,divider}text.secondary · selected.* · border.decorative
Tabletable.{row-h,header,divider,zebra}densidade · text.secondary · border.decorative · surface.sunken
Modalmodal.{bg,scrim,shadow,z}surface.raised · scrim · shadow.3 · z.modal
Sheetsheet.{bg,handle,z}surface.raised · border.field · z.sheet
Calendarcalendar.{day,selected,today,estimated}text · selected.* · focus · data.primary (tracejado)
Indicatorsindicator.{value,unit,line,missing}text · text.secondary · data.primary · neutral.fg
Sensesense.{connected,syncing,pending,offline}success · info · warning · neutral
Vitavita.{surface,msg-user,msg-assistant,mic,recording}surface · selected.bg · surface.raised · action.primary · critical

Charting · 25 contratos (13 reaproveitados do 09C, nenhum equivalente duplicado)

Ficha de charting · 25 contratosAbrir ficha
  • chart.axis.x

    Linha de eixo horizontal, 1 px

    Camada
    Semântico
    Light
    #74817F
    Dark
    #86A0A5
    Consumidor
    Todos os gráficos cartesianos
    Status
    PROPOSTA
    Fonte
    App · Médico · Gestão · reaproveita chart.axis
  • chart.axis.y

    Linha de eixo vertical; omitível quando a grade basta

    Camada
    Semântico
    Light
    #74817F
    Dark
    #86A0A5
    Consumidor
    Gráficos cartesianos
    Status
    PROPOSTA
    Fonte
    App · Médico · Gestão · reaproveita chart.axis
  • chart.tick

    Marca de escala 4 px; rótulo usa chart.label

    Camada
    Semântico
    Light
    #74817F
    Dark
    #86A0A5
    Consumidor
    Eixos
    Status
    PROPOSTA
    Fonte
    App · Médico · reaproveita chart.axis
  • chart.grid.major

    Grade principal — decorativa, nunca carrega significado

    Camada
    Semântico
    Light
    #E2E9E7
    Dark
    rgb(255 255 255 / 0.08)
    Consumidor
    Gráficos
    Status
    REAPROVEITADO
    Fonte
    App · Médico · Gestão · reaproveita chart.grid
  • chart.grid.minor

    Grade secundária — só em zoom/detalhe

    Camada
    Semântico
    Light
    #EDF2F1
    Dark
    rgb(255 255 255 / 0.04)
    Consumidor
    Detalhe intradiário
    Status
    PROPOSTA
    Fonte
    Médico · Sense
  • chart.series.primary

    Série principal (contínua · ●)

    Camada
    Semântico
    Light
    #345B63
    Dark
    #D4ECDD
    Consumidor
    Linha, barra, ponto
    Status
    REAPROVEITADO
    Fonte
    App · Médico · Sense · reaproveita series.primary
  • chart.series.secondary

    Segunda série (contínua · ■)

    Camada
    Semântico
    Light
    #2C6A99
    Dark
    #B8DCF5
    Consumidor
    Comparação de dois sinais
    Status
    REAPROVEITADO
    Fonte
    App · Médico · reaproveita series.secondary
  • chart.series.comparison

    Período anterior / outra fonte — neutro, traço 6·3

    Camada
    Semântico
    Light
    #465350
    Dark
    #CAD4D1
    Consumidor
    Comparação temporal
    Status
    PROPOSTA
    Fonte
    Médico · Gestão · Laboratório
  • chart.series.categorical

    Categorias nominais: séries de domínio + forma; máx. 4 por gráfico

    Camada
    Semântico
    Light
    domain.*.series.light
    Dark
    domain.*.series.dark
    Consumidor
    Hipnograma, barras empilhadas, Gestão
    Status
    PROPOSTA
    Fonte
    Sense · Gestão · Clínica
  • chart.series.estimated

    Estimado: traço 4·4 + marcador vazado + “≈”

    Camada
    Semântico
    Light
    #345B63
    Dark
    #D4ECDD
    Consumidor
    Métricas derivadas
    Status
    REAPROVEITADO
    Fonte
    Sense · App · reaproveita chart.estimated
  • chart.band.reference

    Faixa neutra copiada do laudo; nunca vermelha

    Camada
    Semântico
    Light
    #EDF2F1
    Dark
    #1F3D45
    Consumidor
    Exames
    Status
    REAPROVEITADO
    Fonte
    Laboratório · reaproveita chart.reference
  • chart.band.personal-baseline

    Faixa da própria linha de base do usuário (Sense v1.1 §2)

    Camada
    Semântico
    Light
    #F0F8F3
    Dark
    #344C50
    Consumidor
    HR, HRV, temperatura
    Status
    PROPOSTA
    Fonte
    Sense
  • chart.line.baseline

    Pontilhada 1·3 + rótulo “Sua linha de base”

    Camada
    Semântico
    Light
    #465350
    Dark
    #CAD4D1
    Consumidor
    Séries Sense
    Status
    REAPROVEITADO
    Fonte
    Sense · reaproveita chart.baseline
  • chart.line.threshold-illustrative

    Limiar demonstrativo, traço 2·4, rótulo obrigatório “ilustrativo”; nunca faixa clínica

    Camada
    Semântico
    Light
    #465350
    Dark
    #CAD4D1
    Consumidor
    Somente exemplos do livro
    Status
    PROPOSTA
    Fonte
    App
  • chart.point

    Marcador 8 px com forma por série

    Camada
    Semântico
    Light
    #345B63
    Dark
    #D4ECDD
    Consumidor
    Ponto, linha
    Status
    REAPROVEITADO
    Fonte
    App · Laboratório · reaproveita chart.marker
  • chart.point.selected

    Marcador 12 px vazado + anel de foco 2 px

    Camada
    Semântico
    Light
    #345B63
    Dark
    #E8FF9C
    Consumidor
    Seleção por toque/teclado
    Status
    PROPOSTA
    Fonte
    App · Médico
  • chart.tooltip

    Valor · unidade · horário · origem

    Camada
    Semântico
    Light
    #111B1D
    Dark
    #FAFCFB
    Consumidor
    Tooltip
    Status
    REAPROVEITADO
    Fonte
    App · Médico · Gestão · reaproveita chart.tooltip.bg / .fg
  • chart.crosshair

    Linha vertical 1 px na seleção

    Camada
    Semântico
    Light
    #465350
    Dark
    #CAD4D1
    Consumidor
    Gráficos temporais
    Status
    PROPOSTA
    Fonte
    Médico · Sense
  • chart.legend

    Legenda: forma + traço + texto (nunca só cor)

    Camada
    Semântico
    Light
    #465350
    Dark
    #CAD4D1
    Consumidor
    Todos
    Status
    PROPOSTA
    Fonte
    App · Médico · Gestão
  • chart.label

    Rótulos de eixo e valor

    Camada
    Semântico
    Light
    #465350
    Dark
    #CAD4D1
    Consumidor
    Todos
    Status
    REAPROVEITADO
    Fonte
    App · Médico · Gestão · reaproveita chart.label
  • chart.annotation

    Pino + texto curto (ex.: troca de método)

    Camada
    Semântico
    Light
    #24312F
    Dark
    #FAFCFB
    Consumidor
    Linha do tempo, exames
    Status
    REAPROVEITADO
    Fonte
    Médico · Laboratório · reaproveita chart.annotation
  • chart.gap

    Intervalo sem coleta: linha interrompida + hachura

    Camada
    Semântico
    Light
    #CAD4D1
    Dark
    #465350
    Consumidor
    Séries contínuas
    Status
    REAPROVEITADO
    Fonte
    Sense · App · reaproveita chart.gap
  • chart.missing

    Valor ausente: “—” textual no lugar do número

    Camada
    Semântico
    Light
    #74817F
    Dark
    #A7B3B0
    Consumidor
    Métrica, tabela, tooltip
    Status
    PROPOSTA
    Fonte
    App · Médico · Laboratório
  • chart.uncertainty

    Faixa de incerteza do estimado: série a 16 % (Light) / 24 % (Dark)

    Camada
    Semântico
    Light
    color-mix(#345B63 16%)
    Dark
    color-mix(#D4ECDD 24%)
    Consumidor
    Derivados (sono, energia)
    Status
    PROPOSTA
    Fonte
    Sense
  • chart.selection

    Faixa de seleção + crosshair + rótulo

    Camada
    Semântico
    Light
    #D4ECDD
    Dark
    #D4ECDD
    Consumidor
    Brush, intervalo
    Status
    REAPROVEITADO
    Fonte
    Médico · Gestão · reaproveita chart.selection

Laboratório · linguagem visual, não schema · sem semáforo clínico

Light

Analito ilustrativo · série por coleta

Método alterado
● Laboratório A■ Laboratório B□ fora da referência do laudo— sem coleta

Dark

Analito ilustrativo · série por coleta

Método alterado
● Laboratório A■ Laboratório B□ fora da referência do laudo— sem coleta
Ficha laboratorial · 14 contratosAbrir ficha
  • lab.value

    Valor com algarismos tabulares

    Camada
    Contrato
    Light
    #111B1D
    Dark
    #FAFCFB
    Consumidor
    Card/tabela de exame
    Status
    REAPROVEITADO
    Fonte
    Laboratório · reaproveita lab.value
  • lab.unit

    Unidade do laudo; se ausente: “unidade não informada”

    Camada
    Contrato
    Light
    #465350
    Dark
    #CAD4D1
    Consumidor
    Card/tabela
    Status
    REAPROVEITADO
    Fonte
    Laboratório · reaproveita lab.unit
  • lab.reference

    Faixa e limites copiados do laudo

    Camada
    Contrato
    Light
    #EDF2F1
    Dark
    #1F3D45
    Consumidor
    Barra de referência
    Status
    REAPROVEITADO
    Fonte
    Laboratório · reaproveita lab.reference.band + .edge
  • lab.reference.missing

    Laudo sem faixa: barra omitida + texto “Laudo sem referência”

    Camada
    Contrato
    Light
    #74817F
    Dark
    #A7B3B0
    Consumidor
    Card de exame
    Status
    PROPOSTA
    Fonte
    Laboratório
  • lab.method

    Método analítico, quando informado

    Camada
    Contrato
    Light
    #465350
    Dark
    #CAD4D1
    Consumidor
    Proveniência
    Status
    PROPOSTA
    Fonte
    Laboratório
  • lab.method.changed

    Linha vertical + pino “Método alterado”; série não é ligada através dela

    Camada
    Contrato
    Light
    #24312F
    Dark
    #FAFCFB
    Consumidor
    Série histórica
    Status
    PROPOSTA
    Fonte
    Laboratório · reaproveita chart.annotation
  • lab.source

    Laboratório + forma de marcador por fonte

    Camada
    Contrato
    Light
    #74817F
    Dark
    #A7B3B0
    Consumidor
    Proveniência, legenda
    Status
    REAPROVEITADO
    Fonte
    Laboratório · reaproveita lab.provenance
  • lab.collected-at

    Data da coleta — eixo temporal usa esta data

    Camada
    Contrato
    Light
    #465350
    Dark
    #CAD4D1
    Consumidor
    Série, card
    Status
    PROPOSTA
    Fonte
    Laboratório
  • lab.reported-at

    Data do resultado — só informativa

    Camada
    Contrato
    Light
    #74817F
    Dark
    #A7B3B0
    Consumidor
    Card
    Status
    PROPOSTA
    Fonte
    Laboratório
  • lab.point

    Um ponto por coleta; vazado quando fora da referência do laudo

    Camada
    Contrato
    Light
    #345B63
    Dark
    #D4ECDD
    Consumidor
    Série histórica
    Status
    PROPOSTA
    Fonte
    Laboratório · reaproveita chart.point
  • lab.series

    Pontos em tempo real; sem ligar coletas distantes nem unidades diferentes

    Camada
    Contrato
    Light
    #345B63
    Dark
    #D4ECDD
    Consumidor
    Evolução temporal
    Status
    PROPOSTA
    Fonte
    Laboratório · Médico · reaproveita chart.series.primary
  • lab.panel

    Painel = lista agrupada, sem semáforo

    Camada
    Contrato
    Light
    #FFFFFF
    Dark
    #152D35
    Consumidor
    Painel de exames
    Status
    PROPOSTA
    Fonte
    Laboratório · Médico
  • lab.estimated

    Valor calculado (ex.: razão) com “≈” e fórmula na proveniência

    Camada
    Contrato
    Light
    #345B63
    Dark
    #D4ECDD
    Consumidor
    Valores derivados
    Status
    PROPOSTA
    Fonte
    Laboratório · reaproveita chart.series.estimated
  • lab.missing

    Analito não medido nesta coleta: “—”

    Camada
    Contrato
    Light
    #74817F
    Dark
    #A7B3B0
    Consumidor
    Painel, série
    Status
    PROPOSTA
    Fonte
    Laboratório · reaproveita chart.missing

Cobertura nos quatro portais — prova de tokens, não dashboards

Light · densidade Operacional

Portal Médico

  • AgendaCÓDIGO
  • PacientesCÓDIGO
  • AtendimentoCÓDIGO
  • MensagensDEMO
  • Acompanhamento SenseFUTURO

Dado do paciente só com vínculo clínico (D3)

Portal Clínica

  • AgendaCÓDIGO
  • ProfissionaisCÓDIGO
  • UnidadesCÓDIGO
  • Operação · salas/recursosFUTURO

Tenant-scoped

Portal Gestão

  • CRMCÓDIGO
  • TenantsCÓDIGO
  • Financeiro / GrowthSTUB
  • FunilFUTURO

Indicadores administrativos, sem cor de saúde

Portal Marca

  • Acesso / tenantCÓDIGO
  • CampanhasFUTURO
  • PedidosFUTURO
  • TransaçõesFUTURO

Nunca dado clínico ou fisiológico, nem agregado ou anonimizado

Dark · densidade Operacional

Portal Médico

  • AgendaCÓDIGO
  • PacientesCÓDIGO
  • AtendimentoCÓDIGO
  • MensagensDEMO
  • Acompanhamento SenseFUTURO

Dado do paciente só com vínculo clínico (D3)

Portal Clínica

  • AgendaCÓDIGO
  • ProfissionaisCÓDIGO
  • UnidadesCÓDIGO
  • Operação · salas/recursosFUTURO

Tenant-scoped

Portal Gestão

  • CRMCÓDIGO
  • TenantsCÓDIGO
  • Financeiro / GrowthSTUB
  • FunilFUTURO

Indicadores administrativos, sem cor de saúde

Portal Marca

  • Acesso / tenantCÓDIGO
  • CampanhasFUTURO
  • PedidosFUTURO
  • TransaçõesFUTURO

Nunca dado clínico ou fisiológico, nem agregado ou anonimizado

Componentes representativos — tokens, hierarquia de ações e densidade Operacional

Recortes isolados, não telas. O selo de cada recorte repete o status do snapshot: CÓDIGO existe no portal; STUB está vazio; FUTURO não existe e aparece só como estado vazio previsto. Nomes e horários fictícios.

Médico · Confortável/Operacional · Light

Agenda do dia

CÓDIGO
08:30 · M. SouzaRetorno
09:15 · R. LimaPrimeira consulta
10:00 · A. PradoTeleconsulta

Atendimento

CÓDIGO

Paciente fictício · retorno

Indicador longitudinal autorizado

FUTURO

Somente com consentimento do paciente · origem visível · ≈ estimado · dados ilustrativos

Médico · Confortável/Operacional · Dark

Agenda do dia

CÓDIGO
08:30 · M. SouzaRetorno
09:15 · R. LimaPrimeira consulta
10:00 · A. PradoTeleconsulta

Atendimento

CÓDIGO

Paciente fictício · retorno

Indicador longitudinal autorizado

FUTURO

Somente com consentimento do paciente · origem visível · ≈ estimado · dados ilustrativos

Clínica · Operacional · Light

Profissionais · tabela operacional

CÓDIGO
Buscar profissional
Todas as unidadesCentroNorte
Dra. L. CastroCardiologia
Dr. P. NevesClínica geral
Dra. C. RamosGinecologia

Agenda da unidade

CÓDIGO
Seg 12
14 horários
Ter 13
18 horários
Qua 14
11 horários

Clínica · Operacional · Dark

Profissionais · tabela operacional

CÓDIGO
Buscar profissional
Todas as unidadesCentroNorte
Dra. L. CastroCardiologia
Dr. P. NevesClínica geral
Dra. C. RamosGinecologia

Agenda da unidade

CÓDIGO
Seg 12
14 horários
Ter 13
18 horários
Qua 14
11 horários

Gestão · Operacional · Light

KPI gerencial

STUB

—

Financeiro ainda não conectado. O KPI mostra “—”, nunca um número inventado.

CRM institucional

CÓDIGO
Buscar conta
TodasEm negociaçãoAtivas
Clínica fictícia AEm negociação
Clínica fictícia BEm negociação

Gestão · Operacional · Dark

KPI gerencial

STUB

—

Financeiro ainda não conectado. O KPI mostra “—”, nunca um número inventado.

CRM institucional

CÓDIGO
Buscar conta
TodasEm negociaçãoAtivas
Clínica fictícia AEm negociação
Clínica fictícia BEm negociação

Marca · Operacional · Light

Pedidos

FUTURO

Ainda não implementado. Estado vazio previsto, sem dado clínico, fisiológico ou de aderência — nem agregado.

Campanhas

FUTURO

Ainda não implementado. Estado vazio previsto, sem dado clínico, fisiológico ou de aderência — nem agregado.

Transações autorizadas

FUTURO

Ainda não implementado. Estado vazio previsto, sem dado clínico, fisiológico ou de aderência — nem agregado.

Marca · Operacional · Dark

Pedidos

FUTURO

Ainda não implementado. Estado vazio previsto, sem dado clínico, fisiológico ou de aderência — nem agregado.

Campanhas

FUTURO

Ainda não implementado. Estado vazio previsto, sem dado clínico, fisiológico ou de aderência — nem agregado.

Transações autorizadas

FUTURO

Ainda não implementado. Estado vazio previsto, sem dado clínico, fisiológico ou de aderência — nem agregado.

Status do snapshot 7a8cb912 do projeto de portais. Portal Marca: nenhum dado clínico ou fisiológico, nem agregado ou anonimizado. Densidade: Médico — Confortável (atendimento) · Operacional (listas) · Clínica — Operacional · Gestão — Operacional · Marca — Operacional.

14 · Governança

Nenhum valor novo nasce oficial.

Regras para que o sistema cresça sem duplicar nem divergir.
OFICIALPROPOSTAHERDADOLEGADONÃO APROVADODEPRECIADO

Nomenclatura

camada.categoria.papel.variante — ex.: color.brand.teal, action.primary.bg, button.primary.fg. Sem nomes de cor em semânticos.

Aprovação

Proposta → revisão de contraste medida → homologação do owner → OFICIAL. Nada pula etapas.

Versionamento

SemVer: major remove/renomeia, minor adiciona, patch ajusta valor sem mudar significado.

Depreciação

DEPRECIADO por uma versão minor com substituto indicado; removido no major seguinte.

Histórico

Cada decisão registra data, autor, motivo e medições (ex.: 07C · peso 600).

Light/Dark

Todo semântico tem os dois valores. Sem par = não aprovado.

Densidades

Densidade troca dimensões, nunca cores ou significados.

Duplicidade

Antes de criar, procurar semântico equivalente. Dois tokens com o mesmo valor e papel → fundir.

Exportação

Fonte única em JSON (formato W3C Design Tokens) → CSS, iOS e Android. Futuro, não implementado.

Rastreabilidade

Todo token documentado percorre a mesma cadeia. Se um elo falta, o token não é aprovado.

  1. TOKEN
  2. FUNÇÃO
  3. TEMA
  4. DENSIDADE
  5. COMPONENTE
  6. STATUS
  7. FONTE

Ex.: chart.estimated → valor estimado → Light Teal / Dark Jade → todas → gráfico (cap. 11) → PROPOSTA aprovada como base de engenharia → 09C + Sense v1.1. Rose e Sky para estresse seguem PROPOSTA; a Vita central segue PROPOSTA DE UX PRIORIZADA.

Status das fontes

  • Os contratos visuais (25 de charting, 14 laboratoriais, matriz Sense v1.1, tokens da Vita central, 10 variantes de ação) estão aprovados como base de engenharia.
  • O PRD e o ADR canônicos não foram consultados nesta rodada. Regras de produto continuam subordinadas a eles.
  • Qualquer divergência encontrada depois exigirá reconciliação.
  • Nenhuma regra deste capítulo autoriza mudanças em permissões, dados, backend ou canais.

Conflito registrado, não corrigido

Os estilos genéricos da biblioteca de interface (variáveis globais do site) coexistem com os tokens AllVita. Nesta etapa nada foi fundido; a integração será decidida pelo owner antes do capítulo 10.

Motion herdado

duration.instantReduced motion · troca de estado0 ms
duration.fastHover, pressionado, foco140 ms
duration.normalAbrir menu, trocar aba240 ms
duration.slowSheet, modal, revelar seção520 ms
duration.ambientRespiração da Orb (decorativo)2400 ms
easing.standardTodas as transições funcionaiscubic-bezier(.22,1,.36,1)

Motion funcional responde a uma ação; o decorativo (Orb, ambiente) pausa com reduced motion.

Breakpoints

bp.smCelular de referência390 px
bp.mdTablet retrato768 px
bp.lgTablet paisagem / portal compacto1024 px
bp.xlPortal e desktop1440 px

15 · Reconciliação · 09C

De onde o produto está para onde a marca vai.

O Product UI System V3.1 é o estado atual da implementação. O AllVita Brand & Product System é o destino visual do rebranding. As duas paletas não são autoridades equivalentes: a diferença entre elas é uma migração deliberada, não erro do time. Nada no produto muda nesta rodada.

CURRENT

V3.1 em produção

Deep #012E40 · Petrol #0A3D4A · Vita #3FAE68 · Menta #9BF2A8 · Satoshi

TARGET

AllVita Brand & Product System

Azure #112031 · Petrol #152D35 · Teal #345B63 · Jade #D4ECDD · Chartreuse #E8FF9C · Satoshi

MIGRATION MAP

324 de 324 tokens mapeados

155 canônicos da fundação + 108 de componentes + 61 aliases do Portal Médico. Leitura do snapshot 7a8cb912.

V3.1AtualTargetAçãoNota
--av31-brand-deep#012E40color.brand.azureMIGRATEDeep vira Deep Azure; papel de identidade e fundo escuro.
--av31-brand-petrol#0A3D4Acolor.brand.petrolMIGRATEMesmo papel, hex novo.
--av31-muted#345B63color.brand.tealMIGRATEHex idêntico; deixa de ser texto secundário e passa a ser cor de marca/ação.
--av31-ink#112031color.text (light)ALIASHex idêntico ao Azure; texto principal no Light.
--av31-brand-vita#3FAE68color.brand.teal · Vita = Orb oficialDEPRECATEVerde Vita sai da identidade; Vita passa a ser a Orb (cap. 14).
--av31-brand-mint#9BF2A8color.brand.jadeDEPRECATEMenta substituída por Jade (superfície/seleção).
--av31-brand-green-teal#1F6253color.brand.tealDEPRECATEAtmosfera C-GREEN encerrada.
(ausente)—color.brand.chartreuseMIGRATENovo: foco e notificação no Dark; acento pontual.
--av31-font-sansSatoshifont.family.sansKEEPÚnico ponto 100% convergente.

16 · chart.* · series.*

Lacuna é lacuna. Estimado se vê.

Nenhum significado depende só da cor: cada série tem forma e traço; estimado tem traço tracejado e “≈”; falta de dado aparece como “—”, nunca como linha inventada. Dados ilustrativos.

Light

Referência do laudo—≈

series.primary · contínua

series.secondary · contínua

series.tertiary · 6·3

series.quaternary · 2·3

Dark

Referência do laudo—≈

series.primary · contínua

series.secondary · contínua

series.tertiary · 6·3

series.quaternary · 2·3

chart.axisLinha 1 px (≥3:1); rótulos usam chart.label
chart.gridDecorativa; nunca carrega significado
chart.labelValor + unidade sempre escritos
chart.tooltip.bgValor · unidade · horário · origem
chart.tooltip.fg—
chart.markerForma por série (●■▲◆)
chart.selectionFaixa + linha vertical + rótulo
chart.gapLinha interrompida + hachura + “—”; nunca interpolar
chart.estimatedTraço 4·4 + marcador vazado + “≈”
chart.referenceFaixa neutra da referência do laudo; nunca vermelha
chart.baselinePontilhada 1·3 + rótulo “Sua linha de base”
chart.annotationPino + texto curto
chart.timestampHorário e fuso explícitos

17 · data-state.*

“Disponível” nunca quer dizer “médico revisou”.

Disponibilidade descreve o dado; o estado clínico descreve o caminho dele. Revisado e Ação clínica sempre mostram quem e quando.

Light

Disponibilidade

DisponívelSem dadoEstimadoSincronizandoDesatualizadoFalha

Caminho clínico (POC §13.1)

  1. 1RegistradoEntrada criada · Paciente ou sistema
  2. 2CapturadoColetado na origem · Sensor / app
  3. 3RecebidoChegou à AllVita · Sistema
  4. 4SincronizadoConsistente entre dispositivos · Sistema
  5. 5ProcessadoTratado pela AllVita · Sistema
  6. 6NormalizadoUnidade e formato padronizados · Sistema
  7. 7DisponívelVisível — ainda NÃO revisado · Sistema
  8. 8VistoAberto por alguém (nome + hora) · Pessoa identificada
  9. 9RevisadoMédico nomeado + data · Médico
  10. 10Ação clínicaDecisão registrada com autor · Médico

Dark

Disponibilidade

DisponívelSem dadoEstimadoSincronizandoDesatualizadoFalha

Caminho clínico (POC §13.1)

  1. 1RegistradoEntrada criada · Paciente ou sistema
  2. 2CapturadoColetado na origem · Sensor / app
  3. 3RecebidoChegou à AllVita · Sistema
  4. 4SincronizadoConsistente entre dispositivos · Sistema
  5. 5ProcessadoTratado pela AllVita · Sistema
  6. 6NormalizadoUnidade e formato padronizados · Sistema
  7. 7DisponívelVisível — ainda NÃO revisado · Sistema
  8. 8VistoAberto por alguém (nome + hora) · Pessoa identificada
  9. 9RevisadoMédico nomeado + data · Médico
  10. 10Ação clínicaDecisão registrada com autor · Médico

18 · lab.* · fundação futura

A referência é do laudo, não um alarme.

Ainda não existe exame estruturado no produto atual; isto é só a fundação visual. Fora da referência do laudo não significa vermelho, perigo ou diagnóstico. Dados ilustrativos.

Light

Analito ilustrativo

112mg/dL

◯ Fora da referência do laudo (70–99 mg/dL)

Laboratório fictício · método enzimático · coleta 02/10 · resultado 03/10 · Disponível — não revisado

Dark

Analito ilustrativo

112mg/dL

◯ Fora da referência do laudo (70–99 mg/dL)

Laboratório fictício · método enzimático · coleta 02/10 · resultado 03/10 · Disponível — não revisado

Contrato mínimo

analitovalorunidadelaboratóriométodo (quando houver)data da coletadata do resultadoreferência copiada do laudoproveniênciaestadoevolução
lab.valueAlgarismos tabulares, unidade ≤ metade do valor
lab.unitSempre escrita
lab.reference.bandFaixa neutra
lab.reference.edgeLimites do laudo
lab.outside-referenceMarcador vazado + texto “fora da referência do laudo” — sem vermelho, sem diagnóstico
lab.provenanceLaboratório · método · datas

19 · device.* · crm.* · commerce.*

Linguagem de estado, sem prometer produto.

Dispositivo: só linguagem de sistema, sem hardware definido (Sense = APP-P2, especificação dedicada pendente). CRM: Clínica, Gestão e Marca têm CRM; nenhuma superfície dedicada de CRM médico foi encontrada no snapshot auditado. Comércio: fundação para estados futuros; pedidos e produtos não estão implementados.

Light

Dispositivo · APP-P2 conceitual

PareadoConectandoSincronizandoSincronizadoBateria baixaOfflineErroAcesso revogadoPermissão necessária

CRM

NovoContatadoQualificadoAgendadoConvertidoEm pausaPerdido

Comércio · futuro

RascunhoAtivoIndisponívelNo carrinhoPendentePagoFalhouCanceladoReembolsadoEnviadoEntregue

Dark

Dispositivo · APP-P2 conceitual

PareadoConectandoSincronizandoSincronizadoBateria baixaOfflineErroAcesso revogadoPermissão necessária

CRM

NovoContatadoQualificadoAgendadoConvertidoEm pausaPerdido

Comércio · futuro

RascunhoAtivoIndisponívelNo carrinhoPendentePagoFalhouCanceladoReembolsadoEnviadoEntregue

20 · Matriz · contraste · exportação

324 de 324 tokens V3.1 mapeados.

Cada token atual tem papel, destino e ação. Aliases do Portal Médico herdam o destino do token de origem. Decisões de negócio e de fornecedor continuam abertas.
Token V3.1Papel atualTargetAção
--av31-font-sansFamília tipográficafont.family.sansKEEP
--av31-weight-regularPeso 420font.weight.regular (400)MIGRATE
--av31-weight-bodyPeso intermediáriofont.weight.medium (500)MIGRATE
--av31-weight-mediumPeso intermediáriofont.weight.medium (500)MIGRATE
--av31-weight-strongPeso 560/600font.weight.semibold (600)MIGRATE
--av31-weight-semiboldPeso 560/600font.weight.semibold (600)MIGRATE
--av31-weight-emphasisPeso 660/700font.weight.bold (700)MIGRATE
--av31-weight-boldPeso 660/700font.weight.bold (700)MIGRATE
--av31-brand-deepMarca núcleocolor.brand.azureMIGRATE
--av31-brand-petrolMarca núcleocolor.brand.petrolMIGRATE
--av31-brand-vitaMarca núcleo (verde)color.brand.tealDEPRECATE
--av31-brand-mintMarca núcleo (menta)color.brand.jadeDEPRECATE
--av31-brand-green-tealMarca núcleo (verde)color.brand.tealDEPRECATE
--av31-canvasFundo de páginacanvasMIGRATE
--av31-surfaceSuperfíciesurface / surface.raisedALIAS
--av31-surface-softSuperfície suavesurface.sunkenMIGRATE
--av31-borderBorda decorativaborder.decorativeMIGRATE
--av31-border-strongBorda forteborder.fieldMIGRATE
--av31-inkTexto principaltextALIAS
--av31-ink-softTexto secundáriotext.secondaryMIGRATE
--av31-mutedTexto secundário (Teal)text.secondary · Teal → color.brand.tealMIGRATE
--av31-subtleTexto terciáriotext.mutedMIGRATE
--av31-field-borderBorda de campoborder.field / border.field.hoverMIGRATE
--av31-field-border-hoverBorda de campoborder.field / border.field.hoverMIGRATE
--av31-field-border-focusFoco de campofocusMIGRATE
--av31-field-focus-glowFoco de campofocusMIGRATE
--av31-field-border-errorErro de campocritical.borderALIAS
--av31-action-primaryAção primáriaaction.primary.bg (+ state.hover/pressed)MIGRATE
--av31-action-primary-hoverAção primáriaaction.primary.bg (+ state.hover/pressed)MIGRATE
--av31-action-primary-pressedAção primáriaaction.primary.bg (+ state.hover/pressed)MIGRATE
--av31-action-primary-inkTexto da ação primáriaaction.primary.fgALIAS
--av31-action-secondary-surfaceAção secundáriaaction.secondary.*MIGRATE
--av31-action-secondary-surface-hoverAção secundáriaaction.secondary.*MIGRATE
--av31-action-secondary-borderAção secundáriaaction.secondary.*MIGRATE
--av31-action-secondary-inkAção secundáriaaction.secondary.*MIGRATE
--av31-action-ghost-inkAção terciáriaaction.ghost.*MIGRATE
--av31-action-ghost-surface-hoverAção terciáriaaction.ghost.*MIGRATE
--av31-selected-surfaceSelecionadoselected.bg / selected.fgMIGRATE
--av31-selected-borderSelecionadoselected.bg / selected.fgMIGRATE
--av31-selected-inkSelecionadoselected.bg / selected.fgMIGRATE
--av31-selected-iconSelecionadoselected.bg / selected.fgMIGRATE
--av31-careEstado positivosuccess.*MIGRATE
--av31-care-inkEstado positivosuccess.*MIGRATE
--av31-care-surfaceEstado positivosuccess.*MIGRATE
--av31-care-borderEstado positivosuccess.*MIGRATE
--av31-timeEstado de tempo/pendênciawarning.*MIGRATE
--av31-time-inkEstado de tempo/pendênciawarning.*MIGRATE
--av31-time-surfaceEstado de tempo/pendênciawarning.*MIGRATE
--av31-time-borderEstado de tempo/pendênciawarning.*MIGRATE
--av31-attentionEstado de atençãowarning.* (funde com time — ver nota)MIGRATE
--av31-attention-inkEstado de atençãowarning.* (funde com time — ver nota)MIGRATE
--av31-attention-surfaceEstado de atençãowarning.* (funde com time — ver nota)MIGRATE
--av31-attention-borderEstado de atençãowarning.* (funde com time — ver nota)MIGRATE
--av31-dangerEstado críticocritical.*MIGRATE
--av31-danger-inkEstado críticocritical.*MIGRATE
--av31-danger-surfaceEstado críticocritical.*MIGRATE
--av31-danger-borderEstado críticocritical.*MIGRATE
--av31-aqua-soft-surfaceMódulo / domínio aquacolor.expr.aqua (+ tint)MIGRATE
--av31-aqua-soft-surface-strongMódulo / domínio aquacolor.expr.aqua (+ tint)MIGRATE
--av31-aqua-soft-borderMódulo / domínio aquacolor.expr.aqua (+ tint)MIGRATE
--av31-aqua-soft-inkMódulo / domínio aquacolor.expr.aqua (+ tint)MIGRATE
--av31-amber-soft-surfaceTinta de domíniocolor.expr.amber / color.expr.coralMIGRATE
--av31-amber-soft-surface-strongTinta de domíniocolor.expr.amber / color.expr.coralMIGRATE
--av31-amber-soft-borderTinta de domíniocolor.expr.amber / color.expr.coralMIGRATE
--av31-amber-soft-accentTinta de domíniocolor.expr.amber / color.expr.coralMIGRATE
--av31-amber-soft-inkTinta de domíniocolor.expr.amber / color.expr.coralMIGRATE
--av31-module-aquaMódulo / domínio aquacolor.expr.aqua (+ tint)MIGRATE
--av31-module-skyMódulo / domínio skycolor.expr.sky (+ tint)MIGRATE
--av31-module-tealMódulo tealcolor.brand.tealMIGRATE
--av31-module-lavenderMódulo lavandacolor.expr.lavenderMIGRATE
--av31-vita-deepVita / inteligênciavita.surround.* · Orb oficialDEPRECATE
--av31-vita-coreVita / inteligênciavita.surround.* · Orb oficialDEPRECATE
--av31-vita-highlightVita / inteligênciavita.surround.* · Orb oficialDEPRECATE
--av31-vita-inkVita / inteligênciavita.surround.* · Orb oficialDEPRECATE
--av31-vita-gradientVita / inteligênciavita.surround.* · Orb oficialDEPRECATE
--av31-vita-glowVita / inteligênciavita.surround.* · Orb oficialDEPRECATE
--av31-atmosphereGradiente atmosféricogeometria da marca (cap. 05)REMOVE LATER
--av31-atmosphere-strongGradiente atmosféricogeometria da marca (cap. 05)REMOVE LATER
--av31-hero-cgGradiente atmosféricogeometria da marca (cap. 05)REMOVE LATER
--av31-easeCurva de movimentoeasing.standardALIAS
--av31-motion-fastDuraçãoduration.fast/normal/slowMIGRATE
--av31-motion-standardDuraçãoduration.fast/normal/slowMIGRATE
--av31-motion-slowDuraçãoduration.fast/normal/slowMIGRATE
--av31-motion-breatheRespiração decorativaduration.ambientMIGRATE
--av31-focusFocofocus (Teal light · Chartreuse dark)MIGRATE
--av31-focus-ringFocofocus (Teal light · Chartreuse dark)MIGRATE
--av31-shadow-softSombrashadow.1 / shadow.2 / shadow.3MIGRATE
--av31-shadow-liftSombrashadow.1 / shadow.2 / shadow.3MIGRATE
--av31-radius-controlRaioradius.*MIGRATE
--av31-radius-surfaceRaioradius.*MIGRATE
--av31-radius-canvasRaioradius.*MIGRATE
--av31-clinical-canvasFundo de páginacanvasMIGRATE
--av31-clinical-surfaceSuperfíciesurface / surface.raisedALIAS
--av31-clinical-borderBorda decorativaborder.decorativeMIGRATE
--av31-clinical-accent-heightFilete clínicoborder.width.accentKEEP
--av31-icon-strokeTraço de íconeicon.stroke (decisão aberta no 08)KEEP
--av31-text-2xsTipografia de produtotype.operacional.* (cap. 07)MIGRATE
--av31-text-xsTipografia de produtotype.operacional.* (cap. 07)MIGRATE
--av31-text-smTipografia de produtotype.operacional.* (cap. 07)MIGRATE
--av31-text-mdTipografia de produtotype.operacional.* (cap. 07)MIGRATE
--av31-text-baseTipografia de produtotype.operacional.* (cap. 07)MIGRATE
--av31-text-lgTipografia de produtotype.operacional.* (cap. 07)MIGRATE
--av31-text-xlTipografia de produtotype.operacional.* (cap. 07)MIGRATE
--av31-text-2xlTipografia de produtotype.operacional.* (cap. 07)MIGRATE
--av31-text-3xlTipografia de produtotype.operacional.* (cap. 07)MIGRATE
--av31-text-4xlTipografia de produtotype.operacional.* (cap. 07)MIGRATE
--av31-leading-tightTipografia de produtotype.operacional.* (cap. 07)MIGRATE
--av31-leading-snugTipografia de produtotype.operacional.* (cap. 07)MIGRATE
--av31-leading-bodyTipografia de produtotype.operacional.* (cap. 07)MIGRATE
--av31-type-bodyTipografia de produtotype.operacional.* (cap. 07)MIGRATE
--av31-type-body-compactTipografia de produtotype.operacional.* (cap. 07)MIGRATE
--av31-type-navTipografia de produtotype.operacional.* (cap. 07)MIGRATE
--av31-type-topbarTipografia de produtotype.operacional.* (cap. 07)MIGRATE
--av31-type-account-nameTipografia de produtotype.operacional.* (cap. 07)MIGRATE
--av31-type-account-secondaryTipografia de produtotype.operacional.* (cap. 07)MIGRATE
--av31-type-buttonTipografia de produtotype.operacional.* (cap. 07)MIGRATE
--av31-type-labelTipografia de produtotype.operacional.* (cap. 07)MIGRATE
--av31-type-section-titleTipografia de produtotype.operacional.* (cap. 07)MIGRATE
--av31-type-panel-titleTipografia de produtotype.operacional.* (cap. 07)MIGRATE
--av31-type-page-titleTipografia de produtotype.operacional.* (cap. 07)MIGRATE
--av31-type-table-headerTipografia de produtotype.operacional.* (cap. 07)MIGRATE
--av31-type-table-bodyTipografia de produtotype.operacional.* (cap. 07)MIGRATE
--av31-hover-care-softEstado positivosuccess.*MIGRATE
--av31-hover-care-soft-strongEstado positivosuccess.*MIGRATE
--av31-hover-care-inkEstado positivosuccess.*MIGRATE
--av31-sidebar-wLayout do shelllayout.* (produto)KEEP
--av31-sidebar-w-collapsedLayout do shelllayout.* (produto)KEEP
--av31-topbar-hLayout do shelllayout.* (produto)KEEP
--av31-nav-item-heightLayout do shelllayout.* (produto)KEEP
--av31-iconbtn-sizeLayout do shelllayout.* (produto)KEEP
--av31-iconbtn-size-lgLayout do shelllayout.* (produto)KEEP
--av31-nav-font-sizeLayout do shelllayout.* (produto)KEEP
--av31-nav-font-weightLayout do shelllayout.* (produto)KEEP
--av31-nav-selected-weightLayout do shelllayout.* (produto)KEEP
--av31-nav-line-heightLayout do shelllayout.* (produto)KEEP
--av31-nav-group-sizeLayout do shelllayout.* (produto)KEEP
--av31-nav-group-weightLayout do shelllayout.* (produto)KEEP
--av31-nav-secondary-sizeLayout do shelllayout.* (produto)KEEP
--av31-nav-secondary-weightLayout do shelllayout.* (produto)KEEP
--av31-topbar-font-sizeLayout do shelllayout.* (produto)KEEP
--av31-topbar-font-weightLayout do shelllayout.* (produto)KEEP
--av31-topbar-surface-sizeLayout do shelllayout.* (produto)KEEP
--av31-topbar-surface-weightLayout do shelllayout.* (produto)KEEP
--av31-account-font-sizeLayout do shelllayout.* (produto)KEEP
--av31-account-font-weightLayout do shelllayout.* (produto)KEEP
--av31-account-secondary-sizeLayout do shelllayout.* (produto)KEEP
--av31-account-secondary-weightLayout do shelllayout.* (produto)KEEP
--av31-shell-tooltip-sizeLayout do shelllayout.* (produto)KEEP
--av31-shell-tooltip-weightLayout do shelllayout.* (produto)KEEP
--av31-shell-button-sizeLayout do shelllayout.* (produto)KEEP
--av31-shell-button-weightLayout do shelllayout.* (produto)KEEP
--av31-surface-elevatedSuperfíciesurface / surface.raisedALIAS
--av31-textTexto principaltextALIAS
--av31-text-secondaryTexto secundáriotext.secondaryMIGRATE
--av31-text-mutedTexto secundário (Teal)text.secondary · Teal → color.brand.tealMIGRATE
--av31-text-subtleTexto terciáriotext.mutedMIGRATE
--av31-primaryAção primáriaaction.primary.bg (+ state.hover/pressed)MIGRATE
--av31-primary-hoverAção primáriaaction.primary.bg (+ state.hover/pressed)MIGRATE
--av31-primary-activeAção primáriaaction.primary.bg (+ state.hover/pressed)MIGRATE
--av31-primary-softAção primária suaveaction.secondary.bgMIGRATE
--av31-action-strongAção primáriaaction.primary.bg (+ state.hover/pressed)MIGRATE
--av31-vitaVita / inteligênciavita.surround.* · Orb oficialDEPRECATE
--av31-skyMódulo / domínio skycolor.expr.sky (+ tint)MIGRATE
--av31-aquaMódulo / domínio aquacolor.expr.aqua (+ tint)MIGRATE
--av31-intelligenceVita / inteligênciavita.surround.* · Orb oficialDEPRECATE
--av31-amberTinta de domíniocolor.expr.amber / color.expr.coralMIGRATE
--av31-coralTinta de domíniocolor.expr.amber / color.expr.coralMIGRATE
--av31-gradient-atmosphereGradiente atmosféricogeometria da marca (cap. 05)REMOVE LATER
--av31-gradient-intelligenceVita / inteligênciavita.surround.* · Orb oficialDEPRECATE
--av31-vita-orb-gradientVita / inteligênciavita.surround.* · Orb oficialDEPRECATE
--av31-primary-textTexto da ação primáriaaction.primary.fgALIAS
--av31-action-strong-hoverAção primáriaaction.primary.bg (+ state.hover/pressed)MIGRATE
--av31-control-softControle suaveaction.ghost.hoverMIGRATE
--av31-control-soft-hoverControle suaveaction.ghost.hoverMIGRATE
--av31-intelligence-softVita / inteligênciavita.surround.* · Orb oficialDEPRECATE
--av31-intelligence-inkVita / inteligênciavita.surround.* · Orb oficialDEPRECATE
--av31-sky-softMódulo / domínio skycolor.expr.sky (+ tint)MIGRATE
--av31-sky-inkMódulo / domínio skycolor.expr.sky (+ tint)MIGRATE
--av31-aqua-softMódulo / domínio aquacolor.expr.aqua (+ tint)MIGRATE
--av31-aqua-inkMódulo / domínio aquacolor.expr.aqua (+ tint)MIGRATE
--av31-vita-hoverVita / inteligênciavita.surround.* · Orb oficialDEPRECATE
--av31-vita-softVita / inteligênciavita.surround.* · Orb oficialDEPRECATE
--av31-care-bgEstado positivosuccess.*MIGRATE
--av31-care-bg-hoverEstado positivosuccess.*MIGRATE
--av31-care-textEstado positivosuccess.*MIGRATE
--av31-amber-softTinta de domíniocolor.expr.amber / color.expr.coralMIGRATE
--av31-coral-softTinta de domíniocolor.expr.amber / color.expr.coralMIGRATE
--av31-gradient-longitudinalGradiente atmosféricogeometria da marca (cap. 05)REMOVE LATER
--av31-glow-intelligenceVita / inteligênciavita.surround.* · Orb oficialDEPRECATE
--av31-amber-inkTinta de domíniocolor.expr.amber / color.expr.coralMIGRATE
--av31-coral-inkTinta de domíniocolor.expr.amber / color.expr.coralMIGRATE
--av31-danger-softEstado críticocritical.*MIGRATE
--av-physician-brand-deepAlias de escopo do Portal Médico(herda o mapeamento do token --av31 de origem)ALIAS
--av-physician-brand-petrolAlias de escopo do Portal Médico(herda o mapeamento do token --av31 de origem)ALIAS
--av-physician-brand-vitaAlias de escopo do Portal Médico(herda o mapeamento do token --av31 de origem)ALIAS
--av-physician-brand-mintAlias de escopo do Portal Médico(herda o mapeamento do token --av31 de origem)ALIAS
--av-physician-brand-green-tealAlias de escopo do Portal Médico(herda o mapeamento do token --av31 de origem)ALIAS
--av-physician-canvasAlias de escopo do Portal Médico(herda o mapeamento do token --av31 de origem)ALIAS
--av-physician-surfaceAlias de escopo do Portal Médico(herda o mapeamento do token --av31 de origem)ALIAS
--av-physician-surface-softAlias de escopo do Portal Médico(herda o mapeamento do token --av31 de origem)ALIAS
--av-physician-borderAlias de escopo do Portal Médico(herda o mapeamento do token --av31 de origem)ALIAS
--av-physician-border-strongAlias de escopo do Portal Médico(herda o mapeamento do token --av31 de origem)ALIAS
--av-physician-inkAlias de escopo do Portal Médico(herda o mapeamento do token --av31 de origem)ALIAS
--av-physician-ink-softAlias de escopo do Portal Médico(herda o mapeamento do token --av31 de origem)ALIAS
--av-physician-mutedAlias de escopo do Portal Médico(herda o mapeamento do token --av31 de origem)ALIAS
--av-physician-subtleAlias de escopo do Portal Médico(herda o mapeamento do token --av31 de origem)ALIAS
--av-physician-action-primaryAlias de escopo do Portal Médico(herda o mapeamento do token --av31 de origem)ALIAS
--av-physician-action-primary-hoverAlias de escopo do Portal Médico(herda o mapeamento do token --av31 de origem)ALIAS
--av-physician-action-primary-pressedAlias de escopo do Portal Médico(herda o mapeamento do token --av31 de origem)ALIAS
--av-physician-action-primary-inkAlias de escopo do Portal Médico(herda o mapeamento do token --av31 de origem)ALIAS
--av-physician-action-secondary-surfaceAlias de escopo do Portal Médico(herda o mapeamento do token --av31 de origem)ALIAS
--av-physician-action-secondary-surface-hoverAlias de escopo do Portal Médico(herda o mapeamento do token --av31 de origem)ALIAS
--av-physician-action-secondary-borderAlias de escopo do Portal Médico(herda o mapeamento do token --av31 de origem)ALIAS
--av-physician-action-secondary-inkAlias de escopo do Portal Médico(herda o mapeamento do token --av31 de origem)ALIAS
--av-physician-action-ghost-inkAlias de escopo do Portal Médico(herda o mapeamento do token --av31 de origem)ALIAS
--av-physician-action-ghost-surface-hoverAlias de escopo do Portal Médico(herda o mapeamento do token --av31 de origem)ALIAS
--av-physician-selected-surfaceAlias de escopo do Portal Médico(herda o mapeamento do token --av31 de origem)ALIAS
--av-physician-selected-borderAlias de escopo do Portal Médico(herda o mapeamento do token --av31 de origem)ALIAS
--av-physician-selected-inkAlias de escopo do Portal Médico(herda o mapeamento do token --av31 de origem)ALIAS
--av-physician-selected-iconAlias de escopo do Portal Médico(herda o mapeamento do token --av31 de origem)ALIAS
--av-physician-careAlias de escopo do Portal Médico(herda o mapeamento do token --av31 de origem)ALIAS
--av-physician-care-inkAlias de escopo do Portal Médico(herda o mapeamento do token --av31 de origem)ALIAS
--av-physician-care-surfaceAlias de escopo do Portal Médico(herda o mapeamento do token --av31 de origem)ALIAS
--av-physician-care-borderAlias de escopo do Portal Médico(herda o mapeamento do token --av31 de origem)ALIAS
--av-physician-timeAlias de escopo do Portal Médico(herda o mapeamento do token --av31 de origem)ALIAS
--av-physician-time-inkAlias de escopo do Portal Médico(herda o mapeamento do token --av31 de origem)ALIAS
--av-physician-time-surfaceAlias de escopo do Portal Médico(herda o mapeamento do token --av31 de origem)ALIAS
--av-physician-time-borderAlias de escopo do Portal Médico(herda o mapeamento do token --av31 de origem)ALIAS
--av-physician-attentionAlias de escopo do Portal Médico(herda o mapeamento do token --av31 de origem)ALIAS
--av-physician-attention-inkAlias de escopo do Portal Médico(herda o mapeamento do token --av31 de origem)ALIAS
--av-physician-attention-surfaceAlias de escopo do Portal Médico(herda o mapeamento do token --av31 de origem)ALIAS
--av-physician-attention-borderAlias de escopo do Portal Médico(herda o mapeamento do token --av31 de origem)ALIAS
--av-physician-dangerAlias de escopo do Portal Médico(herda o mapeamento do token --av31 de origem)ALIAS
--av-physician-danger-inkAlias de escopo do Portal Médico(herda o mapeamento do token --av31 de origem)ALIAS
--av-physician-danger-surfaceAlias de escopo do Portal Médico(herda o mapeamento do token --av31 de origem)ALIAS
--av-physician-danger-borderAlias de escopo do Portal Médico(herda o mapeamento do token --av31 de origem)ALIAS
--av-physician-module-aquaAlias de escopo do Portal Médico(herda o mapeamento do token --av31 de origem)ALIAS
--av-physician-module-skyAlias de escopo do Portal Médico(herda o mapeamento do token --av31 de origem)ALIAS
--av-physician-module-tealAlias de escopo do Portal Médico(herda o mapeamento do token --av31 de origem)ALIAS
--av-physician-module-lavenderAlias de escopo do Portal Médico(herda o mapeamento do token --av31 de origem)ALIAS
--av-physician-appointment-inkAlias de escopo do Portal Médico(herda o mapeamento do token --av31 de origem)ALIAS
--av-physician-atmosphereAlias de escopo do Portal Médico(herda o mapeamento do token --av31 de origem)ALIAS
--av-physician-atmosphere-strongAlias de escopo do Portal Médico(herda o mapeamento do token --av31 de origem)ALIAS
--av-physician-hero-cgAlias de escopo do Portal Médico(herda o mapeamento do token --av31 de origem)ALIAS
--av-physician-easeAlias de escopo do Portal Médico(herda o mapeamento do token --av31 de origem)ALIAS
--av-physician-motion-fastAlias de escopo do Portal Médico(herda o mapeamento do token --av31 de origem)ALIAS
--av-physician-motion-standardAlias de escopo do Portal Médico(herda o mapeamento do token --av31 de origem)ALIAS
--av-physician-motion-slowAlias de escopo do Portal Médico(herda o mapeamento do token --av31 de origem)ALIAS
--av-physician-motion-breatheAlias de escopo do Portal Médico(herda o mapeamento do token --av31 de origem)ALIAS
--av-physician-focusAlias de escopo do Portal Médico(herda o mapeamento do token --av31 de origem)ALIAS
--av-physician-focus-ringAlias de escopo do Portal Médico(herda o mapeamento do token --av31 de origem)ALIAS
--av-physician-shadow-softAlias de escopo do Portal Médico(herda o mapeamento do token --av31 de origem)ALIAS
--av-physician-shadow-liftAlias de escopo do Portal Médico(herda o mapeamento do token --av31 de origem)ALIAS
--av-physician-radius-controlAlias de escopo do Portal Médico(herda o mapeamento do token --av31 de origem)ALIAS
--av-physician-radius-surfaceAlias de escopo do Portal Médico(herda o mapeamento do token --av31 de origem)ALIAS
--av-physician-radius-canvasAlias de escopo do Portal Médico(herda o mapeamento do token --av31 de origem)ALIAS
--av31-action-strong-textTexto da ação primáriaaction.primary.fgALIAS
--av-physician-font-sansAlias de escopo do Portal Médico(herda o mapeamento do token --av31 de origem)ALIAS
--av31-type-display-sizeTipografia de produtotype.operacional.* (cap. 07)MIGRATE
--av31-type-display-weightTipografia de produtotype.operacional.* (cap. 07)MIGRATE
--av31-type-page-title-sizeTipografia de produtotype.operacional.* (cap. 07)MIGRATE
--av31-type-page-title-weightTipografia de produtotype.operacional.* (cap. 07)MIGRATE
--av31-type-page-title-trackingTipografia de produtotype.operacional.* (cap. 07)MIGRATE
--av31-type-prompt-sizeTipografia de produtotype.operacional.* (cap. 07)MIGRATE
--av31-type-prompt-weightTipografia de produtotype.operacional.* (cap. 07)MIGRATE
--av31-type-context-title-sizeTipografia de produtotype.operacional.* (cap. 07)MIGRATE
--av31-type-context-title-weightTipografia de produtotype.operacional.* (cap. 07)MIGRATE
--av31-type-context-title-trackingTipografia de produtotype.operacional.* (cap. 07)MIGRATE
--av31-type-section-title-sizeTipografia de produtotype.operacional.* (cap. 07)MIGRATE
--av31-type-section-title-weightTipografia de produtotype.operacional.* (cap. 07)MIGRATE
--av31-type-block-title-sizeTipografia de produtotype.operacional.* (cap. 07)MIGRATE
--av31-type-block-title-weightTipografia de produtotype.operacional.* (cap. 07)MIGRATE
--av31-type-body-sizeTipografia de produtotype.operacional.* (cap. 07)MIGRATE
--av31-type-body-weightTipografia de produtotype.operacional.* (cap. 07)MIGRATE
--av31-type-body-strong-weightTipografia de produtotype.operacional.* (cap. 07)MIGRATE
--av31-type-clinical-sizeTipografia de produtotype.operacional.* (cap. 07)MIGRATE
--av31-type-clinical-weightTipografia de produtotype.operacional.* (cap. 07)MIGRATE
--av31-type-table-sizeTipografia de produtotype.operacional.* (cap. 07)MIGRATE
--av31-type-table-weightTipografia de produtotype.operacional.* (cap. 07)MIGRATE
--av31-type-label-sizeTipografia de produtotype.operacional.* (cap. 07)MIGRATE
--av31-type-label-weightTipografia de produtotype.operacional.* (cap. 07)MIGRATE
--av31-type-meta-sizeTipografia de produtotype.operacional.* (cap. 07)MIGRATE
--av31-type-meta-weightTipografia de produtotype.operacional.* (cap. 07)MIGRATE
--av31-type-button-sizeTipografia de produtotype.operacional.* (cap. 07)MIGRATE
--av31-type-button-weightTipografia de produtotype.operacional.* (cap. 07)MIGRATE
--av31-type-metric-sizeTipografia de produtotype.operacional.* (cap. 07)MIGRATE
--av31-type-metric-weightTipografia de produtotype.operacional.* (cap. 07)MIGRATE
--av31-space-2Espaçamentospace.*ALIAS
--av31-space-4Espaçamentospace.*ALIAS
--av31-space-6Espaçamentospace.*ALIAS
--av31-space-8Espaçamentospace.*ALIAS
--av31-space-12Espaçamentospace.*ALIAS
--av31-space-16Espaçamentospace.*ALIAS
--av31-space-20Espaçamentospace.*ALIAS
--av31-space-24Espaçamentospace.*ALIAS
--av31-space-32Espaçamentospace.*ALIAS
--av31-space-40Espaçamentospace.*ALIAS
--av31-space-48Espaçamentospace.*ALIAS
--av31-space-64Espaçamentospace.*ALIAS
--av31-gap-microEspaçamentospace.*ALIAS
--av31-gap-controlEspaçamentospace.*ALIAS
--av31-gap-inlineEspaçamentospace.*ALIAS
--av31-pad-cardEspaçamentospace.*ALIAS
--av31-pad-panelEspaçamentospace.*ALIAS
--av31-gap-sectionEspaçamentospace.*ALIAS
--av31-pad-pageEspaçamentospace.*ALIAS
--av31-radius-control-smRaioradius.*MIGRATE
--av31-radius-cardRaioradius.*MIGRATE
--av31-radius-panelRaioradius.*MIGRATE
--av31-radius-dialogRaioradius.*MIGRATE
--av31-radius-pillRaioradius.*MIGRATE
--av31-button-radiusRaioradius.*MIGRATE
--av31-segment-radiusRaioradius.*MIGRATE
--av31-radius-fieldRaioradius.*MIGRATE
--av31-shadow-noneSombrashadow.1 / shadow.2 / shadow.3MIGRATE
--av31-shadow-subtleSombrashadow.1 / shadow.2 / shadow.3MIGRATE
--av31-shadow-floatingSombrashadow.1 / shadow.2 / shadow.3MIGRATE
--av31-shadow-selectedSelecionadoselected.bg / selected.fgMIGRATE
--av31-ease-standardCurva de movimentoeasing.standardALIAS
--av31-ease-enterCurva de movimentoeasing.standardALIAS
--av31-ease-exitCurva de movimentoeasing.standardALIAS
--av31-row-heightLinha de tabeladensity.operacional.rowMIGRATE
--av31-row-pad-yLinha de tabeladensity.operacional.rowMIGRATE
--av31-stackEspaçamentospace.*ALIAS

Contraste recontado

Matriz do 09A: 27 pares = 21 aprováveis + 4 condicionais + 2 rejeitados. Rejeitados corrigidos:

Teal #345B63 sobre Petrol #152D35: 1,94:1 → No Dark, papel Teal passa a Jade #D4ECDD: 11,55:1

Aqua #A9E6E3 como linha sobre branco: 1,39:1 → Aqua só como tinta; linha usa series.primary #345B63: 7,44:1

Grupos novos: 24 de 24 pares passam (cálculo sRGB nos dois temas).

Exportação neutra

JSON no formato do W3C Design Tokens Community Group, compatível com Style Dictionary → web (variáveis CSS / Tailwind), mobile (stack ainda não escolhida) e este livro.

{
  "color": { "brand": { "azure": { "$type": "color", "$value": "#112031" } } },
  "chart": { "chart.estimated": { "$type": "color", "$value": "#345B63",
    "$extensions": { "com.allvita.theme": { "dark": "#D4ECDD" } } } }
}

Continuam abertas (POC §28)

Preço final do AllVita+ · OPENBilling · OPENProvider/cadência do WhatsApp · OPENProvider/modelo/memória da Vita · OPENBenefícios · OPENMarketplace · OPENHardware do Sense · OPENModelo comercial do Sense · OPENSaúde da Mulher v1 · OPENScore de estresse/recuperação · OPENMétricas reguladas · OPENBYOD adicional · OPEN

Perfil AllVita público: a identidade digital permanente do médico dentro da infraestrutura de Saúde Relacional — superfície web externa (allvita.com.br/medicos/:slug), não auditada neste snapshot. Nenhuma rota nova criada.