Caso ideal: título y dos grupos, cada uno con intro y varios acordeones, fondo blanco. (TID01)
(SizeLimitingPyMap: {background=white, groups=[{intro=Primeros pasos, description=Lo esencial para crear tu cuenta y empezar a trabajar en minutos., items=[{title=¿Cómo creo mi cuenta?, description=Regístrate con tu correo corporativo y sigue el asistente de configuración inicial.}, {title=¿Puedo invitar a mi equipo?, description=Sí, desde Ajustes puedes invitar a tantos usuarios como incluya tu plan.}, {title=¿Hay límite de proyectos?, description=Los planes de pago no tienen límite de proyectos activos.}]}, {intro=Facturación, items=[{title=¿Qué métodos de pago aceptáis?, description=Tarjeta de crédito y transferencia bancaria para planes anuales.}, {title=¿Puedo cambiar de plan?, description=Puedes subir o bajar de plan en cualquier momento; el prorrateo es automático.}]}]})Caso mínimo: sin título y un único grupo sin intro con un par de acordeones. (TID02)
(SizeLimitingPyMap: {background=white, groups=[{items=[{title=¿Ofrecéis prueba gratuita?, description=Sí, 14 días con todas las funciones y sin tarjeta.}, {title=¿Necesito instalar algo?, description=No, la plataforma funciona íntegramente en el navegador.}]}]})Dark: fondo primary con título y dos grupos; verifica el esquema oscuro en título, intros y acordeones. (TID03)
(SizeLimitingPyMap: {background=primary, groups=[{intro=Infraestructura, description=Dónde y cómo se alojan y protegen tus datos., items=[{title=¿Dónde se alojan los datos?, description=En centros de datos europeos con certificación ISO 27001.}, {title=¿Hacéis copias de seguridad?, description=Realizamos backups cifrados cada hora con retención de 30 días.}]}, {intro=Cumplimiento, items=[{title=¿Sois compatibles con el RGPD?, description=Sí, firmamos el acuerdo de encargado de tratamiento con cada cliente.}, {title=¿Ofrecéis inicio de sesión único?, description=El SSO con SAML está disponible en el plan Enterprise.}]}]})Stress: título largo y tres grupos con intros y respuestas extensas para verificar el ritmo vertical. (TID04)
(SizeLimitingPyMap: {background=light, groups=[{intro=Configuración avanzada, items=[{title=¿Cómo defino roles y permisos personalizados?, description=Desde la consola de administración puedes crear roles con permisos granulares por módulo, proyecto y acción, y asignarlos a grupos de usuarios sincronizados con tu directorio corporativo.}, {title=¿Puedo automatizar el alta y baja de usuarios?, description=Sí, mediante SCIM el aprovisionamiento y desaprovisionamiento se sincroniza automáticamente con tu proveedor de identidad, evitando accesos huérfanos.}]}, {intro=Integraciones, items=[{title=¿Qué integraciones nativas existen?, description=Disponemos de conectores con las principales herramientas de comunicación, almacenamiento y analítica, además de webhooks y una API REST documentada para integraciones a medida.}, {title=¿Hay límites de uso de la API?, description=El plan Enterprise incluye cuotas ampliadas y la posibilidad de negociar límites específicos según el volumen de peticiones de tu organización.}]}, {intro=Incidencias, items=[{title=¿Cómo reporto un problema crítico?, description=Los clientes Enterprise cuentan con un canal prioritario y un acuerdo de nivel de servicio con tiempos de respuesta garantizados las 24 horas.}, {title=¿Dónde consulto el estado del servicio?, description=Publicamos el estado en tiempo real y el histórico de incidencias en nuestra página de estado, con suscripción a avisos por correo.}]}]})Variante petal (Rosa claro #FFE3EF): fondo rosado que mantiene el esquema clear (texto en negro, no dark). (TID05)
(SizeLimitingPyMap: {background=petal, groups=[{intro=Precios, items=[{title=¿El precio incluye todas las funciones?, description=Cada plan detalla sus funciones; el plan Pro incluye la mayoría de capacidades avanzadas.}, {title=¿Hay descuento por pago anual?, description=Sí, el pago anual supone dos meses gratis frente al pago mensual.}]}]})Grupo solo cabecera: un grupo con intro y descripción pero sin acordeones (items vacío) pinta solo la cabecera; un segundo grupo normal con items. (TID06)
(SizeLimitingPyMap: {background=white, groups=[{intro=Nota importante, description=Este bloque muestra solo intro y descripción, sin acordeones desplegables., items=[]}, {intro=Preguntas, items=[{title=¿Puedo cancelar cuando quiera?, description=Sí, sin permanencia ni penalización.}]}]})Caso inválido: sin título y sin grupos renderizables (groups vacío). La guard del módulo no se cumple y debe dispararse hints.invalid_module(). (TID07)
(SizeLimitingPyMap: {background=white, groups=[]})