# Administración instantánea de listas — Tablero CDC

## Objetivo
Permitir que los administradores actualicen desde Tablero CDC las listas utilizadas por el formulario sin dejar de usar Google Sheet como fuente oficial.

## Fuente oficial
- Spreadsheet: `CD_Latam_Registro Horas_2024`
- Hoja: `Listas`
- La app nunca escribe directamente en `tablero_cdc_app_lists`.
- La app llama n8n, n8n modifica la hoja `Listas` y luego sincroniza Supabase.
- El workflow programado se mantiene como reconciliación de respaldo.

## Listas administrables
- Cliente → columna A (`Cliente`)
- Marca → columna R (`Marca`). En la exportación recibida esa columna está vacía y no tiene referencias; el workflow la inicializa de forma segura conservando las marcas activas de Supabase y el catálogo de respaldo antes de sincronizar.
- País / BU + Country Manager → columnas C:D (`Pais / BU`, `CM`)
- Estatus → columna N (`estatus`)

## Seguridad
- El botón `Listas` usa el mismo permiso existente `can_manage_tariff_catalog`.
- El webhook valida la sesión de Supabase y vuelve a comprobar ese permiso antes de permitir cualquier escritura.
- Los cambios no eliminan proyectos históricos; solo modifican opciones disponibles para nuevas ediciones/selecciones.

## Actualización inmediata
1. El administrador crea, edita o elimina una opción.
2. n8n actualiza únicamente la columna correspondiente del Google Sheet.
3. n8n ejecuta el mismo RPC existente `tablero_cdc_sync_app_lists`.
4. Supabase Realtime notifica a las sesiones abiertas y `useAppLists()` recarga las listas.

También existe `Sincronizar desde Sheet` para aplicar manualmente cambios hechos directamente en Google Sheet sin esperar el Schedule Trigger. El flujo programado conserva su intervalo existente de 3 horas.
