Migra los 3 al forward de paleta compartido, cada uno con su matiz:
- listbox: 2 slots (solid = indicador activo, element = fila seleccionada), raíz
bare `[data-listbox]`. El `accent-text` era código muerto (sin consumidor) →
eliminado. Recipe nuevo.
- timeline: 5 slots (solid/track/border/contrast/text) que alimentan
`--_timeline-hue-*` del item; data-intent por item sigue mandando sobre el
acento del root. Tipo ProgressiveColorRole → ComponentColorProp. Recipe
existente ampliado.
- combobox: la cascada vivía en CUATRO partes (control/input/trigger/content),
así que el forward las cubre vía `parts: [...]` (forma declarations[]). 3 slots
(track/border/text). Los 5 wrappers (root + 4 partes) pasan por
`resolveComponentColor` para que el custom hex no se estampe crudo. Recipe
existente (content-z) ampliado.
Verificado en navegador: combobox data-color=risk → palette-border del control =
token risk compartido; custom #00b894 → color-mix. table (lote previo) idem.
check: 76 ajenos, 0 propios. Contract 26/28 (2 = proof-of-human pre-existente).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>